我使用的是@dreysolano/prerender-spa-plugin
在这里我写了一些我需要单独打包成一个html文件的路由
打包出来的dist目录是这样的,可以看到少打包了一些路由,找了好久没看到有人出现这种情况,可能是我的垃圾代码有问题。但是不知道问题出在哪里
然后看了看终端,有个警告,说的是(入口点大小限制),有些入口文件组合资源大小超过建议的限制了
一看是入口文件限制,说的还是两个js文件,打包还正好少了两个html,感觉没跑了,让chart配置了一下webpack。
config.optimization = {
splitChunks: {
cacheGroups: {
prerender: {
test: /[\\/]src[\\/](views|components)[\\/]/,
name: 'prerender',
chunks: 'all',
enforce: true,
},
},
},
};
这个配置的意思好像是打包出这些视图对应的代码块,公用这些代码块,这样的话,入口文件就小了,因为有的资源需要单独的再去获取了,不太懂webpack,评论区有大佬可以讲一下。ps:估计大佬观看不到这篇文章
再次打包,就出现丢失的两个模块了
但其实终端还是有一个js文件出现了入口文件过大,在配置optimization之前,我有试过配置performance,但是并没有用,没有打包出对应的html。但他不会报警告了。
config.performance = {
hints: 'warning',
// 入口起点的最大体积
maxEntrypointSize: 200*1024*1024,
// 生成文件的最大体积
maxAssetSize: 100*1024*1024,
// 只给出 js 文件的性能提示
assetFilter: function (assetFilename) {
return assetFilename.endsWith('.js')
}
};