Closed ediaos closed 5 years ago
@EDiaos ,已修改// 配置生成的html文件,定义路径等 var conf = { // filename: pathname + '.html', filename: pathname + '.html', template: pages[pathname], // 模板路径 chunks: [pathname], // 每个html引用的js模块 inject: true // js插入位置 };
,即新增一个chunks: [pathname]
@yaoyao1987 我测试了一下,build出来的html不引用 vendor和manifest 两js
目测全打包到了对应页面的js里
其他地方看到的解决方案:
// 配置生成的html文件,定义路径等
var conf = {
filename: page + '.html',
template: pages[page], //模板路径
inject: true,
// excludeChunks 允许跳过某些chunks, 而chunks告诉插件要引用entry里面的哪几个入口
// 如何更好的理解这块呢?举个例子:比如本demo中包含两个模块(index和about),最好的当然是各个模块引入自己所需的js,
// 而不是每个页面都引入所有的js,你可以把下面这个excludeChunks去掉,然后npm run build,然后看编译出来的index.html和about.html就知道了
// filter:将数据过滤,然后返回符合要求的数据,Object.keys是获取JSON对象中的每个key
excludeChunks: Object.keys(pages).filter(item => {
return (item != page)
})
}
将chunks: [pathname]改成chunks: [pathname, 'vendor', 'manifest']即可解决
@yaoyao1987 请问下 为什么生成的dist目录下 需要有 vendor.js manifest.js 这2者和我pathname.js又有什么区别呢
如题,有人知道怎么修改配置吗