AWS
常见问题

找不到模块 next

您可能会在 CloudWatch 日志中遇到此错误:Cannot find module 'next'。 很可能是您处于一个 monorepo 中,并且有多个锁文件。 只需确保项目根目录下只有一个锁文件。

headers, redirect, rewrites 在 next-config 和 middleware 中于 next 13.4.12+ 版本不起作用

如果您使用的 nextjs 版本 >= 13.4.12,则需要使用 open-next 版本 >= 2.1

我的 api 路由返回空响应,并且我正在使用 sentry

如果您正在使用 sentry,API 路由会返回空主体。您可以尝试配置 sentry 以忽略 API 路由。您可以 此处 (opens in a new tab) 阅读更多相关信息

我的 ISR 页面有这个 cache-control 头 s-maxage=2, stale-while-revalidate=2592000

鉴于 ISR 的工作方式,在等待重新验证发生时,页面将使用此 cache control 头提供服务。这可以防止您的服务器在重新验证完成期间因大量请求而过载。您可以 此处 阅读更多相关信息。

解压后的大小必须小于 262144000 字节

AWS Lambda 有 250MB 的解压后大小限制。如果您的应用超过此限制,那么很可能是使用了对于 serverless 来说太大的 node_module 库,或者有一个大的开发依赖被打包进去了。 例如,pdfjscanvas 可选依赖,占用了 180MB。更多详情,阅读此处。 注意:较大的打包大小会显著增加冷启动时间。