我正在设置一个ASP.NET核心项目,并希望我的Razor模板包含对webpack生成的条目块的引用。
我想要的:
我希望能够从Razor模板中引用我的main.js
和runtime.js
。我的结论是,让Webpack总是为这些文件生成相同的名称。
我所做的:
阅读Webpack的文档,您可以阅读有关output.chunkFilename
设置的以下内容:
基于在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
入口点正在得到一个散列,尽管文档中写着什么。我是否在某个地方遗漏了一步,误读了文档,还是filename
和chunkFilename
之间存在某种问题?
提前感谢!
发布于 2018-06-29 11:18:35
好的,对于将来的参考,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
有散列,所以将运行时从一个单独的文件(最初的原因是文件名的一部分)中删除是没有意义的,所以它可能是一种有意(尽管很奇怪)的行为。
https://stackoverflow.com/questions/51099067
复制相似问题