分包原因:当前项目特别的大,所以需要按需加载。
正常情况在 router.js 文件中新增的路由,使用 splitChunks 分割出来的块是能够路由懒加载的
export default new Router({
routes: [
{
path: '/',
name: 'HelloWorld',
component: resolve => require(['@/components/HelloWorld'], resolve)
}
]
})
但是在当前项目中,所有的路由都是从后端请求数据然后动态新增到 vue-router 中的。
export const loadView = (view) => {
return (resolve) => require([`@/views/${view}`], resolve)
}
这种情况下我使用 splitChunks 将指定的块分离出来,文件是被分离出来了,但是在页面加载的时候,也会和其他的组件文件加载出来。达不到页面加载的目的。和没有使用 splitChunks 分块没什么区别。
请问,有什么解决办法嘛,还是说我的 webpack 打包配置有问题
1
SoloCompany 2022-05-24 20:20:50 +08:00 via iPhone
基本知识
要么你的项目要配置成多个 entry 要么就在代码中使用 import 函数或其它方式创造 split point 来去除强依赖 |
2
passon 2022-05-24 20:30:33 +08:00
好奇这个地方用 require 和 import 有什么区别
|
3
stefanieewu 2022-05-24 22:03:42 +08:00
没太看懂描述,尝试猜一下:你想某些页面进行懒加载,即加载 A 页面的时候,不会加载 B 页面的资源;
试一下用 import 懒加载 |
4
robinlovemaggie 2022-05-24 22:33:36 +08:00
@passon #2 同步 /异步加载的区别
|