gpt4 book ai didi

webpack - output.filename 受output.chunkFilename 影响吗?

转载 作者:行者123 更新时间:2023-12-02 07:22:35 24 4
gpt4 key购买 nike

我正在设置一个 ASP.NET Core 项目,并且希望我的 Razor 模板包含对 webpack 生成的条目 block 的引用。

我想要什么:

我希望能够从 Razor 模板引用我的 main.jsruntime.js。我得出的结论是,一种方法是让 Webpack 始终为这些文件生成相同的名称。

我做了什么:

阅读 Webpack 的文档,可以阅读有关 output.chunkFilename 设置的内容:

This option determines the name of non-entry chunk files.

基于在 chunkFilename 中使用哈希不会影响我的条目文件的假设,我使用了以下配置:

output: {
path: outDir,
filename: '[name].js',
chunkFilename: '[name].[chunkhash].js',
publicPath: 'dist/',
},

发生了什么:

虽然我得到的是这样的:

wwwroot/dist
├───0.3b03e7acfc05abed54e5.js
├───1.3b03e7acfc05abed54e5.js
├───main.3b03e7acfc05abed54e5.js
└───runtime.js

不管文档怎么说,main 入口点正在获取哈希值。我是否错过了某个步骤,误读了文档,或者 filenamechunkFilename 之间是否存在某种问题?

提前致谢!

最佳答案

好的,供将来引用,optimization.runtimeChunk: 'single' 选项将所有内容搞乱,并且每个入口点包都遵循 output.chunkFilename 设置。

所以有这些规则:

optimization: {
runtimeChunk: 'single',
},

output: {
path: outDir,
filename: '[name].js',
chunkFilename: '[name].[contenthash].js',
publicPath: 'dist/',
},

给出了该结构:

wwwroot/dist
├───0.3b03e7acfc05abed54e5.js
├───1.3b03e7acfc05abed54e5.js
├───main.3b03e7acfc05abed54e5.js
└───runtime.js

删除 optimization.runtimeChunk 设置后会得到以下结果:

wwwroot/dist
├───0.3b03e7acfc05abed54e5.js
├───1.3b03e7acfc05abed54e5.js
└───main.js

回想起来,由于我不希望我的 main.js 有哈希值,因此将运行时提取到单独的文件中没有什么意义(最初的原因是 the runtime code affects the [contenthash] part of the file name ) ,所以这可能是一种故意的(尽管很奇怪)行为。

PS:不,不是。 https://github.com/webpack/webpack/issues/6604

关于webpack - output.filename 受output.chunkFilename 影响吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51099067/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com