AWS
参考

open-next.config.ts 中可使用的所有选项都将在此列出。这是可用于自定义构建的配置文件。 你可以查看 完整示例 以了解如何使用这些选项。


这里的服务器指的是所有不同的构建输出(Lambda、Node、Deno 等)。每个服务器都可以有自己的选项。这也包括一些只需要在构建时运行的服务器/函数。

每个服务器配置将在配置对象中拥有自己的键。以下是您可以配置的所有服务器:

  • 默认服务器 - 键:default 这是默认服务器,类似于 open-next v2 中的 server-function
  • 拆分服务器 - 键:functions 仅当您想将服务器拆分为多个服务器时使用。这是一个特殊情况,在此键下您将定义每个拆分的服务器。
  • 外部中间件 - 键:middleware 如果您想将中间件与默认服务器或函数分开部署,可以使用此键。
  • 重新验证函数 - 键:revalidate 这是一个特殊的服务器,将处理重新验证队列。
  • 图片优化服务器 - 键:imageOptimization 此服务器将处理 _next/image 优化。
  • 预热函数 - 键:warmer 此服务器旨在用作 lambda 函数的预热。
  • 初始化函数 - 键:initializationFunction 这是一个特殊的服务器,将在构建时运行以初始化缓存。默认情况下,它只初始化标签缓存。

所有这些服务器共享一些通用选项,您可以使用它们来自定义服务器。

minify

这将尝试压缩服务器的输出,包括 node_modules。它是一个布尔值,默认设置为 false。 这可能会导致某些包出现问题,因此建议在部署之前使用此选项测试您的应用。

我们可能不会修复与此选项相关的问题,因为它通常是特定于库的。

override

在这里您将能够覆盖服务器的某些部分。对于所有选项,您可以提供我们称为 LazyLoadedOverride 的内容,这是一个将返回覆盖内容的函数。有关示例,请参阅一些 自定义覆盖。 所有服务器都有一些您可以覆盖的默认覆盖。您可以 在此处 (opens in a new tab) 查看类型。

wrapper

这是服务器的入口点。 请注意,仅更改此选项可能不足以使其在该平台上工作。这只是入口点,您可能需要更改服务器的其他部分才能使其在该平台上工作。

可能的值有:aws-lambdaaws-lambda-streamingcloudflare-edgecloudflare-nodenodeexpress-devdummy 或一个将返回包装器的 LazyLoadedOverride

converter

这是将用于转换服务器输入和输出的转换器。

可能的值有:aws-apigw-v2aws-apigw-v1aws-cloudfrontedgenodesqs-revalidatedummy 或一个将返回转换器的 LazyLoadedOverride

install

服务器的安装选项。用于安装额外的包。它是一个包含以下选项的对象。

对于图片优化,默认情况下将安装 sharp

packages - 必填

这是将在服务器中安装的包数组。它是一个字符串数组。 在默认服务器(或拆分服务器之一)上安装内容可能需要在 Next 端进行一些额外配置以避免重复

arch

这是服务器的架构。它是一个字符串,默认设置为 x64

可能的值有:x64arm64

nodeVersion

此选项将传递给 sharp 的 postinstall 脚本。它由 node-gyp 使用。

libc

覆盖要安装的原生模块的 libc。

可能的值有:glibcmusl

additionalArgs

传递给安装命令 (npm install) 的额外参数。它是一个字符串,将附加到 npm install 命令的末尾。

以下是如何在默认服务器函数上安装带有 ARM64 架构的 sharp 的示例:

import type { OpenNextConfig } from '@opennextjs/aws/types/open-next';
const config = {
default: {
  install: {
    packages: ['sharp@0.33.5'],
    arch: 'arm64',
  },
},
} satisfies OpenNextConfig;
 
export default config;