webpack4中chunkFilename的规则为什么会影响filename?
问题:
我同时配置了filename 和chunkFilename,
entry: {
index: './src/index.js',
home:'./src/home.js'
},
output: {
filename: '[name].[chunkhash:8].js',
chunkFilename: '[name].bundle.js',
path: resolve('dist')
},
同时,我配置了
optimization:{
runtimeChunk:true
},
此时打包出来的两个入口文件的名字中包含了bundle字样,问题来了:
chunkFilename应该只会影响非入口chunk的命名规则,为何这里影响到了入口文件的命名规则?
测试:
我把runtimeChunk:true
这个配置去掉以后,则入口文件的命名规则就正常了,打包出来的文件名没有bundle字样。
猜测:
难道是runtimeChunk:true
这个配置会影响到命名吗?
webpack.config.js
/**
*
*/
/**
* webpack v4 代码分离demo
**/
const path = require('path');
const webpack=require('webpack')
const CleanWebpackPlugin = require('clean-webpack-plugin')
function resolve(dir) {
return path.resolve(__dirname, dir)
}
module.exports = {
mode: "development",
entry: {
index: './src/index.js',
home:'./src/home.js'
},
output: {
filename: '[name].[chunkhash:8].js',
chunkFilename: '[name].bundle.js',
path: resolve('dist')
},
devServer: {
compress: true,
port: 9000,
hot: true
},
optimization:{
runtimeChunk:true,
splitChunks:{
cacheGroups:{
vendor:{
test:/[\\/]node_modules[\\/]/,
name:'vendors',
chunks:'all'
}
}
}
},
module:{
rules:[
]
},
plugins:[
// new webpack.HotModuleReplacementPlugin(),
new CleanWebpackPlugin(['dist'])
]
};
依赖文件
{
"name": "webpack-v4",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"scripts": {
"dev": "set NODE_ENV=development&&webpack-dev-server --color --inline --progress --config webpack.config.js",
"build": "webpack --config webpack.config.js"
},
"devDependencies": {
"clean-webpack-plugin": "^0.1.19",
"webpack": "^4.16.5",
"webpack-cli": "^3.1.0",
"webpack-dev-server": "^3.1.5"
},
"dependencies": {
"bundle-loader": "^0.5.6",
"lodash": "^4.17.10"
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
请问解决了吗?我也遇到这个问题了
请问楼主解决了吗?