Next.js独立模式部署报错:找不到font-manifest.json模块
解决Next.js standalone部署找不到font-manifest.json的问题
核心问题原因
当配置output: 'standalone'时,Next.js构建后会生成standalone目录,包含运行应用所需的最小依赖集合,但你的构建流程仅打包了/.next目录,遗漏了standalone目录本身及其他必要文件,导致启动时找不到依赖的font-manifest.json。
具体修复步骤
调整制品打包范围
不能只打包/.next,需包含以下目录和文件:standalone/:Next.js生成的独立运行环境.next/static/:包含字体清单在内的静态资源public/:应用公共静态文件- 根目录
package.json(若服务器需执行yarn start)
修改Azure Pipelines打包命令
替换原仅压缩/.next的命令,示例用tar打包:tar -czf myapp-build.tar.gz standalone/ .next/static/ public/ package.json服务器启动调整
解压制品后,确保standalone与.next/static保持和本地构建一致的层级关系,进入standalone目录执行yarn start,或直接运行node server.js(standalone目录内已包含server.js,无需依赖全局Next.js)。额外验证项
- 确认构建机器与生产服务器Node.js版本一致,避免版本不兼容导致文件缺失
- 检查
next build完成后,构建机器上.next/server/font-manifest.json是否存在,若本身缺失,可尝试升级Next.js版本(部分旧版本在optimizeFonts: false下可能不生成该文件)
内容的提问来源于stack exchange,提问作者Artur Kedzior
相关产品推荐
相关产品推荐

