#1481·webpack

Webpack chunk 未使用正确的 publicPath

作者: adiliqbl创建于 2019年2月16日更新于 2021年1月10日

webpack.base.conf.js

javascript
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