找不到模块 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 库,或者有一个大的开发依赖被打包进去了。
例如,pdfjs 有 canvas 可选依赖,占用了 180MB。更多详情,阅读此处。
注意:较大的打包大小会显著增加冷启动时间。