最近使用Nuxt3 + ElementPlus 做项目,在本地运行是正常的,部署云端后,由页面路由跳转也是能正常访问非 主页 的,但是刷新页面就报错:
如下图:

查阅的原因是:
运行时提示缺少 @popperjs/core,目前内部使用的 @popperjs/core 实际上是指向 @sxzz/popperjs-es,应该是 Nuxt 目前不支持这种软链接。
所以暂时的解决方案就是编译后的迁移 @sxzz/popperjs-es 到 @popperjs/core 目录中。
可使用以下命令,直接在 packages.json 中的 scripts 中增加:
"created": "mkdir .output/server/node_modules/@popperjs && mv .output/server/node_modules/@sxzz/popperjs-es .output/server/node_modules/@popperjs/core"
我的配置:
"scripts": {
"build": "nuxt build && npm run created",
"created": "mkdir .output/server/node_modules/@popperjs && mv .output/server/node_modules/@sxzz/popperjs-es .output/server/node_modules/@popperjs/core"
}
本文参考:
nuxt3 Cannot find package ‘@popperis/core‘ 开发过程与踩坑记录心得
nuxt3.*无法将 @popperjs_core 打包,浏览器显示500