这里列出了所有可在 open-next.config.ts
中使用的选项。这是一个用于自定义构建的配置文件。
您可以查看完整示例以了解如何使用这些选项。
这里的服务器指的是所有不同的构建输出(Lambda、Node、Deno 等)。每个服务器都可以有自己的选项。这还包括一些只需要在构建时运行的服务器/函数。
每个服务器配置都将位于配置对象中自己的键下。以下是您可以配置的所有服务器:
- 默认服务器 - 键:
default
这是默认服务器,类似于 open-next v2 中的服务器函数。 - 拆分服务器 - 键:
functions
这仅在您想将服务器拆分为多个服务器时使用。这是一个特殊情况,在此键下您将定义每个拆分服务器。 - 外部中间件 - 键:
middleware
如果您想将中间件与默认服务器或函数分开部署,可以使用此键。 - 重新验证函数 - 键:
revalidate
这是一个特殊的服务器,用于处理重新验证队列。 - 图像优化服务器 - 键:
imageOptimization
该服务器将处理_next/image
优化。 - 预热函数 - 键:
warmer
该服务器旨在用作 Lambda 函数的预热器。 - 初始化函数 - 键:
initializationFunction
这是一个特殊的服务器,将在构建时运行以初始化缓存。默认情况下,它只初始化标签缓存。
所有这些服务器都共享一些您可以用来自定义它们的通用选项。
minify
这将尝试最小化服务器的输出,包括 node_modules
。它是一个布尔值,默认设置为 false
。
它可能会导致一些包出现问题,因此建议在部署之前使用此选项测试您的应用程序。
我们很可能不会修复与此选项相关的问题,因为它通常是库特有的。
override
您可以在此处覆盖服务器的某些部分。对于所有这些,您都可以提供我们称之为 LazyLoadedOverride
的函数,它将返回覆盖。有关示例,请查看自定义覆盖。
所有服务器都有一些您可以覆盖的默认覆盖。您可以在此处 (opens in a new tab)查看类型。
wrapper
这是服务器的入口点。 请注意,仅仅更改此项可能不足以使其在该平台正常工作。这只是入口点,您可能需要更改服务器的其他部分才能使其在该平台正常工作。
可能的值有:aws-lambda
、aws-lambda-streaming
、cloudflare-edge
、cloudflare-node
、node
、express-dev
、dummy
或一个返回包装器的 LazyLoadedOverride
。
converter
这是用于转换服务器输入和输出的转换器。
可能的值有:aws-apigw-v2
、aws-apigw-v1
、aws-cloudfront
、edge
、node
、sqs-revalidate
、dummy
或一个返回转换器的 LazyLoadedOverride
。
install
服务器的安装选项。这用于安装额外的包。它是一个包含以下选项的对象。
对于图像优化,它默认会安装 sharp
packages
- 强制
这是一个将在服务器中安装的包数组。它是一个字符串数组。 在默认服务器(或其中一个拆分服务器)上安装内容可能需要在 Next.js 端进行一些额外配置以避免重复。
arch
这是服务器的架构。它是一个字符串,默认设置为 x64
。
可能的值有:x64
、arm64
nodeVersion
此选项将传递给 sharp 的后安装脚本。它由 node-gyp
使用。
libc
覆盖要安装的本机模块的 libc。
可能的值有:glibc
、musl
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;