Loading...
此问题详见 Nextjs Discussion
解决方案 1:使用 npm 或者 yarn(可以仅打包使用,但要保证安装版本)
解决方案 2:开启开发者模式
参考 Nextjs 文档
原因是打包的 .next
不包含静态资源(css、public 下的资源)
Nextjs 官方认为这些应该放在 CDN 上,但是可以手动复制到 .next 对应文件夹下
Mac 系统命令如下:
cp -r public .next/standalone/ && cp -r .next/static .next/standalone/.next/
Windows 上此处使用 cpr
包实现,可以在 next build
后执行此命令
cpr public .next/standalone/public && cpr .next/static .next/standalone/.next/static
值得注意的是:Mac 下的 cp -r
是将 source 目录拷贝到 destination 下,而 cpr
这个包是将 source 目录下的文件拷贝到 destination 下,两者行为有差异
感觉 Nextjs 的设计和 pnpm 不太搭配,很多问题都是在 pnpm 上出现的
在执行 build 之间先将旧的 .next 构建删除掉