首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >output.filename受output.chunkFilename影响?

output.filename受output.chunkFilename影响?
EN

Stack Overflow用户
提问于 2018-06-29 09:55:44
回答 1查看 3.6K关注 0票数 4

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

我想要的:

我希望能够从Razor模板中引用我的main.jsruntime.js。我的结论是,让Webpack总是为这些文件生成相同的名称。

我所做的:

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

此选项确定非条目块文件的名称。

基于在chunkFilename中使用散列不会影响输入文件的假设,我使用了以下配置:

代码语言:javascript
运行
复制
output: {
  path: outDir,
  filename: '[name].js',
  chunkFilename: '[name].[chunkhash].js',
  publicPath: 'dist/',
},

发生了什么:

不过,我得到的是:

代码语言:javascript
运行
复制
wwwroot/dist
├───0.3b03e7acfc05abed54e5.js
├───1.3b03e7acfc05abed54e5.js
├───main.3b03e7acfc05abed54e5.js
└───runtime.js

main入口点正在得到一个散列,尽管文档中写着什么。我是否在某个地方遗漏了一步,误读了文档,还是filenamechunkFilename之间存在某种问题?

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2018-06-29 11:18:35

好的,对于将来的参考,optimization.runtimeChunk: 'single'选项会把所有事情都搞砸,并让每个入口点包都遵循output.chunkFilename设置。

因此,有了这些规则:

代码语言:javascript
运行
复制
optimization: {
  runtimeChunk: 'single',
},

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

给出了这个结构:

代码语言:javascript
运行
复制
wwwroot/dist
├───0.3b03e7acfc05abed54e5.js
├───1.3b03e7acfc05abed54e5.js
├───main.3b03e7acfc05abed54e5.js
└───runtime.js

当移除optimization.runtimeChunk设置时,就会得到这样一个设置:

代码语言:javascript
运行
复制
wwwroot/dist
├───0.3b03e7acfc05abed54e5.js
├───1.3b03e7acfc05abed54e5.js
└───main.js

回想起来,由于我不希望我的main.js有散列,所以将运行时从一个单独的文件(最初的原因是文件名的一部分)中删除是没有意义的,所以它可能是一种有意(尽管很奇怪)的行为。

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51099067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档