Webpack chunk 未使用正确的 publicPath
作者: adiliqbl创建于 2019年2月16日更新于 2021年1月10日
webpack.base.conf.js
entry: { app: ['@babel/polyfill', './src/main.js'] },
output: {
path: path.resolve(__dirname, '../'),
filename: isProduction ? '[name].[chunkhash].js' : '[name].js',
chunkFilename: isProduction ? '[name].[chunkhash].js' : '[name].js',
publicPath: './'
},
module: {
rules: [{
test: /\.(js|ts)$/,
loader: 'babel-loader',
exclude: /(node_modules|bower_components)/,
include: [resolve('src'), resolve('test')],
options: {
plugins: ['lodash'],
presets: [['@babel/preset-env', { modules: false, targets: { node: 4 } }]]
}
}]
}
**webpack.prod.conf.js**
```JavaScript
module: {
rules: utils.styleLoaders({
sourceMap: config.build.productionSourceMap,
extract: true
})
},
output: {
path: path.resolve(__dirname, '../'),
publicPath: './',
filename: utils.assetsPath('/js/[name].[chunkhash].js'),
chunkFilename: utils.assetsPath('/js/[id].[chunkhash].js')
},
plugins: [
new webpack.HashedModuleIdsPlugin({
hashFunction: 'sha256',
hashDigest: 'hex',
hashDigestLength: 20
}),
new WebpackChunkHash({ algorithm: 'md5' }),
new MiniCssExtractPlugin({
filename: utils.assetsPath('/css/[name].[chunkhash].css'),
chunkFilename: utils.assetsPath('/css/[id].[chunkhash].css')
}),
new HtmlWebpackPlugin({
filename: path.resolve(__dirname, '../dist/index.html'),
template: 'index.html',
inject: true,
minify: {
removeComments: true,
collapseWhitespace: true,
collapseInlineTagWhitespace: true,
removeAttributeQuotes: true,
removeRedundantAttributes: true,
minifyCSS: true
}
})
]内容来源: vuejs-templates/webpack