gpt4 book ai didi

javascript - vue-cli 与 Webpack : how to custom splitting import chunk?

转载 作者:行者123 更新时间:2023-11-30 14:29:36 24 4
gpt4 key购买 nike

我不确定标题是否切中要点,我会尽力解释:

我有 4 个页面,分别是 a1.vuea2.vueb1.vueb2.vue
我的router/index.js:

import a1 from '@/components/a1';  
import a2 from '@/components/a2';
import b1 from '@/components/b1';
import b2 from '@/components/b2';

var router = new Router({
routes: [{
path: '/a1',
name: 'name-a1',
component: a1
}, {
path: '/a2',
name: 'name-a2',
component: a2
}, {
path: '/b1',
name: 'name-b1',
component: b1
}, {
path: '/b2',
name: 'name-b2-page',
component: b2
}]
});

然后,如果我运行 npm run build,它将呈现一个 app.js 文件,其中包括我的 a1~b2 页面的资源.
我知道如果我这样写:

const a1 = ()=> import('@/components/a1');  
const a2 = ()=> import('@/components/a2');
const b1 = ()=> import('@/components/b1');
const b2 = ()=> import('@/components/b2');

webpack 将渲染 a1.jsa2.jsb1.jsb2 .js 对我来说,仅在访问映射页面时加载它。
这是问题:

如何对 a.jsb.js 进行分块,
其中a.js包括a1.jsa2.js源代码,
b.js 包含 b1.jsb2.js 源代码?
当然,如果我在访问 /a1 之后访问 /a2,则 a.js 将不会再次加载。

谢谢

最佳答案

您可以通过注释功能使用 webpack 的特殊参数。

例如,就您而言:

const a1 = ()=> import(/* webpackChunkName: "a" */'@/components/a1');
const a2 = ()=> import(/* webpackChunkName: "a" */'@/components/a2');
const b1 = ()=> import(/* webpackChunkName: "b" */'@/components/b1');
const b2 = ()=> import(/* webpackChunkName: "b" */'@/components/b2');

您还可以使用webpackMode:lazy

有关更多信息和示例,请阅读:https://webpack.js.org/api/module-methods/

关于javascript - vue-cli 与 Webpack : how to custom splitting import chunk?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51414217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com