关于webpack的chunkId的问题

一个webpack demo。代码很简单:
`module.exports = {

entry: {
    main: "./src/main.js",
    main2: "./src/main2.js"
},
output: {
    path: path.resolve(__dirname, "dist"),
    filename: "[name].[chunkhash].js"
},
plugins: [
    new HtmlWebpackPlugin({
        title: "my-cli",
        template: "./html/index.html"
    }),
    new CleanWebpackPlugin("dist")
]

}`
main.js

const test = require("./test.js");
console.log(test);

test.js

const str = "test is loaded122";
module.exports = str;

main2.js

const test = require("./test2.js");
console.log(test);

test2.js

const str = "test is loaded22ff";
module.exports = str;

打包出来之后为什么main2.js的chunkid是0,然后main.js的chunkid为1,不是很理解。
如图图片描述
而且如果把main2.js中的require删掉的话,main.js的chunkid为0,main2.js chunkid为1,如果把main.js的require去掉则不变。而且打包出来的两个chunk里没有与chunkId相关的代码。求大神解答。

main2.js

console.log(test);
阅读 4.3k
3 个回答
新手上路,请多包涵

chunks是代码块的意思,那些数字只是chunks代码块的id或者序号,webpack打包生成便于相互引用或者拆分或组合用的。

new webpack.NamedChunksPlugin() 可以固定打包出来的chunkId,这样打包出来chunkId是文件名

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题