vue项目配置多页面打包后,优化的JS代码块不执行是怎么回事?

const path = require('path')

const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin

module.exports = {

pages: {

index: {

entry: 'src/pages/index/main.js',

template: 'public/index.html',

filename: 'index.html',

title: 'Index Page',

chunks: []

},

page1: {

entry: 'src/pages/page1/main.js',

template: 'public/index.html',

filename: 'page1.html',

title: 'Page1',

chunks: []

}

},

configureWebpack: {

devtool: 'source-map',

optimization: {

splitChunks: {

chunks: 'all',

minChunks: 1,

minSize: 2000,

cacheGroups: {

libs: {

name: 'chunk-libs',

test: /[\\/]node_modules[\\/]/,

chunks: 'initial', // only package third parties that are initially dependent

priority: 10

},

commons: {

name: 'chunk-commons',

test: /[\\/]src[\\/]components[\\/]/, // can customize your rules

priority: 11,

}

}

}

},

plugins: [new BundleAnalyzerPlugin()]

}

}

以上是我的配置代码,运行该项目后JS虽然正确的分割了,但是JS在浏览器并没有执行。

vue项目配置多页面打包后,优化的JS代码块不执行是怎么回事?

vue项目配置多页面打包后,优化的JS代码块不执行是怎么回事?


回答:

这个问题我自己已经解决了,我使用vue-inspect看了下配置,pages.page1.chunks最终会编译到HtmlWebpackPlugin的实例里面,类似这样:

new HtmlWebpackPlugin(

{

title: 'Index Page',

templateParameters: function () { /* omitted long function */ },

chunks: [

'chunk-vendors',

'chunk-common',

'index'

],

template: 'public/index.html',

filename: 'index.html'

}

),

/* config.plugin('html-page1') */

new HtmlWebpackPlugin(

{

title: 'Page1',

templateParameters: function () { /* omitted long function */ },

chunks: [

'chunk-vendors',

'chunk-common',

'page1'

],

template: 'public/index.html',

filename: 'page1.html'

}

)

所以我把pages.page1.chunks里面的项的值改成我自己分割的chunk的名称,然后就可以正常运行了。

以上是 vue项目配置多页面打包后,优化的JS代码块不执行是怎么回事? 的全部内容, 来源链接: utcz.com/p/936158.html

回到顶部