webpack - Webpack 5 插件:模块错误没有代码生成条目
问题描述
在升级我维护的插件以同时支持 Webpack 4 和 5 时,我遇到了下面的砖墙,我根本找不到任何信息,而且Gitter上的任何人似乎都无法提供帮助。
该插件添加了一个可以正常工作的资产(SVG spritemap)compilation.assets
。插件中有一个功能允许用户保留创建的块,这是与其他一些插件互操作所需的。Webpack 4 的最小工作代码是这样的(我总是觉得有点 hacky,但它确实有效 ♂️):
// OutputOptions.chunk.name would equal 'spritemap' in this example
const chunk = compilation.addChunk(outputOptions.chunk.name);
const module = new RawModule('', `${outputOptions.chunk.name}-dummy-module`);
chunk.addModule(module);
对 Webpack 5 使用相同的方法会引发以下错误:
ERROR in spritemap.js
No code generation entry for spritemap-dummy-module (existing entries: <path-to>/svg-spritemap-webpack-plugin/examples/simple/src/index.js)
它还显示了一个弃用警告Chunk.addModule
,我可以compilation.chunkGraph.connectChunkAndModule(chunk, module);
改用它来修复它,但这(显然)并没有消除代码生成条目错误。
解决方案
我最终发布了与GitHub 问题相同的问题,因为我没有收到关于 Gitter 和 Stack Overflow 的任何回复。Tobias Koppers 向我提出了一个确保将模块添加到compilation.modules
. 所以最后这个特定的问题是通过以下代码解决的:
compilation.modules.add(module);
推荐阅读
- excel - Excel中的自定义格式日期
- slider - JSSOR 我的滑块在小分辨率下太小
- javascript - 打开用户选择的文件
- java - 如何检查特定 Firestore 文档中是否存在特定字段?
- gtag.js - 全球网站标签和 Adwords/Analytics
- .htaccess - 将所有以 /index.php?controller=allproducts 开头的 url 重定向到主页(使用 .htaccess)
- r - R 无法检测到我在加载的文件中有多个列
- joomla - 如何构建一个工具来输入和访问云上的数据
- python-3.x - 为什么 start_queue_runners() 函数与 shuffle_batch() 函数一起使用
- r - 如何在不同的数据框中找到共同的变量?