ByteNoteByteNote
独立输出不是页面要的目录
字

字节笔记本

2026年10月7日 · 约 2 分钟读完

独立输出不是页面要的目录

API中转
¥120

指南要求 Node.js 18.17 或更高,项目是 Next.js 14,仓库和 Cloudflare 账号。构建脚本是 next build,启动脚本是 next start。

独立输出和 .next 是另一条部署

next.config.js 把 output 设为 standalone,图片 unoptimized 为真,远程图片的主机名写成两个星号。Pages 的构建设置里,命令是 npm run build,输出目录是 .next,Node 选 18 或更高。环境变量示例是 NODE_VERSION 等于 18,NPM_VERSION 等于 9。生产和预览可以各写一套变量。

standalone 是为了把依赖打进一份给 Node 进程运行的目录。next start 也是起这个进程。Pages 发布的是它指定的输出目录里的文件。把 .next 填进去,不等于把独立输出的那份服务器交了出去。两处写在同一篇指南里,指向的不是同一种运行方式。

配置里还有 experimental.runtime 设为 edge。路由文件里另有一行 export const runtime 等于 edge,处理函数返回 Hello World。整站开关和单条路由的导出不是同一个位置。指南把它们都叫做边缘运行。以路由文件上的导出为准才能作用到那条接口。配置对象里的那个键,指南没有展示它生效后的构建结果。

构建目录写成了点 next

自定义域在项目设置里添加,再按提示改 DNS。图片若走 Image 组件,指南要求 unoptimized,并建议用相对路径。远程主机写成两个星号,是这段配置的原文,不是一份已经验证过的白名单。

失败时让人查 Node 版本、依赖、构建命令和变量。日志在仪表板的构建日志里。分析看 Analytics。这些步骤没有改输出目录。

边缘运行要写在路由文件上

KV、自动压缩、缓存策略在建议列表里,没有配置片段。不要把列表当成已经写进项目的代码。

18.17 是指南写的下限。环境变量里的 18 比这个下限粗。选版本时两处都要看。

Hello World 只说明那条接口返回一段文本。它不证明整站已经在边缘上跑起来。

相关文章

分享: