AWS
参考

这里列出了所有可在 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-lambdaaws-lambda-streamingcloudflare-edgecloudflare-nodenodeexpress-devdummy 或一个返回包装器的 LazyLoadedOverride

converter

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

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

install

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

对于图像优化,它默认会安装 sharp

packages - 强制

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

arch

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

可能的值有:x64arm64

nodeVersion

此选项将传递给 sharp 的后安装脚本。它由 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;