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
// 如果需要,您也可以通过使用自定义 overrides 来定制它。
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;