出现这个问题,看到了
https://blog.youkuaiyun.com/weixin_47006311/article/details/128920556
和 https://gitee.com/y_project/RuoYi-Vue/issues/I4PZJF#note_17047621所在文档,按照每个回答都去试了,都不成功。
开始以为是代码及路由出了问题。
后来突然灵光一闪,对比了一下,
return (resolve) => require([@/views/${view}
], resolve)
和 return () => import(@/views/${view}
)两种打包方案的代码包文件总大小。发现不一样大!就是在打包的时候,import动态引入的文件根本没打包进去。
然后就去搜了相应问题(import(`@/views/ 没有打包进去),有个博客给了答案!!
https://blog.youkuaiyun.com/yorcentroll/article/details/131061585
是@vue/cli-plugin-babel/preset 引起的,要把这个babel配置去掉,并替换成其他配置。
因此 我按照他修改
babel配置
module.exports = {
presets: [
// https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
// '@vue/cli-plugin-babel/preset'
'@vue/babel-preset-jsx',
[ '@babel/preset-env',
{
'useBuiltIns': 'entry',
'corejs': 3
}]
],
'env': {
'development': {
// babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require().
// This plugin can significantly increase the speed of hot updates, when you have a large number of pages.
'plugins': ['dynamic-import-node']
},
}
}
export const loadView = (view) => { // 路由懒加载
if (process.env.NODE_ENV === 'development') {
return (resolve) => require([`@/views/${view}`], resolve)
} else {
// 使用 import 实现生产环境的路由懒加载
return () => import(`@/views/${view}`)
}
}
安装了
"@babel/preset-env": "^7.22.5",
"babel-plugin-dynamic-import-node": "^2.3.3",
再是 所有打包环境对应配置设置了
BABEL_ENV = production
NODE_ENV = production
这样之后,终于成功了,可以看到static/js下面瞬间出现了上百个js文件。。。
******非常重要,修改和install之前先清空nodemodules。 又浪费了半天。。。