在对 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;