AWS
本地运行

在对 OpenNext 进行修改时,每次测试变更都需要部署可能会有些繁琐。如果你的修改不依赖于 wrapper 或 converter,那么可以创建一个自定义的 open-next.config.ts 文件(可以使用其他名称以避免与现有的 open-next.config.ts 冲突)。

要在本地运行 OpenNext

# 构建命令(如果使用了非默认名称的配置文件,需要指定 config-path)
node /path/to/opennextjs-aws/packages/open-next/dist/index.js build --config-path open-next.local.config.ts
 
# 然后运行服务器
node .open-next/server-functions/default/index.mjs

open-next.local.config.ts

// open-next.local.config.ts -
// 最佳实践是使用不同的名称以避免与现有的 open-next.config.ts 冲突
// 例如 open-next.local.config.ts
// 如果需要,也可以通过自定义覆盖来进行配置
import type { OpenNextConfig } from "@opennextjs/aws/types/open-next.js";
 
export default {
  default: {
    override: {
      wrapper: "express-dev",
      converter: "node",
      incrementalCache: "fs-dev",
      queue: "direct",
      tagCache: "fs-dev",
    },
  },
 
  imageOptimization: {
    override: {
      wrapper: "dummy",
      converter: "dummy",
    },
    loader: "fs-dev",
    // 这部分在 arm linux 上不需要,图像优化仅在 linux 上有效
    install: {
      arch: "x64",
      packages: ["sharp"],
    },
  },
 
  // 可以在这里覆盖构建命令,这样在每次修改时就不需要重新构建 next
  //buildCommand: "echo 'No build command'",
} satisfies OpenNextConfig;
 
export default config;