Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack 如何查找Web包运行时的依赖项?_Webpack - Fatal编程技术网

Webpack 如何查找Web包运行时的依赖项?

Webpack 如何查找Web包运行时的依赖项?,webpack,Webpack,使用createreact应用程序创建web应用程序项目还将包括react脚本,而react脚本又使用Webpack。生成的bundle块在运行时使用webpack。对于这个场景,我需要列出webpack在运行时使用的所有第四方依赖项 不幸的是,Webpack不是package.json文件中依赖项列表的直接部分。我能找到的唯一参考是当我使用NPMLS转储依赖关系树时。然而,这包括许多开发依赖项,对于这些依赖项,我不需要acorn、webassembly等的批准 检查,也会给我一个依赖项列表。但

使用createreact应用程序创建web应用程序项目还将包括react脚本,而react脚本又使用Webpack。生成的bundle块在运行时使用webpack。对于这个场景,我需要列出webpack在运行时使用的所有第四方依赖项

不幸的是,Webpack不是package.json文件中依赖项列表的直接部分。我能找到的唯一参考是当我使用NPMLS转储依赖关系树时。然而,这包括许多开发依赖项,对于这些依赖项,我不需要acorn、webassembly等的批准

检查,也会给我一个依赖项列表。但该列表与上面生成的树有很大不同,它还包括开发依赖项,如@types/eslint scope或@types/estree

Webpack网页有很多信息,但我找不到我要查找的内容,特别是因为Webpack运行时依赖项作为一个术语在应用程序依赖项中被详细讨论,导致了一个完全错误的路径

然后,我从Github下载并检查了它。它包含一个具有许多依赖项的文件夹,但我不确定这是否是我需要的deps列表,因为内容似乎不是节点模块

我还可以做些什么来获得这样的列表?

有一个名为的工具,它解析生成的捆绑包,并为所有包含的代码提供信息和交互式图形。此图显示了哪个模块以哪个捆绑包的大小结束捆绑包大小+gzip:


我也使用了这个工具来验证Webpack注入的第三方运行时代码是否存在于包中,这很好地回答了我的问题。第三方插件可能会添加一些东西,但这是另一回事。

那些@types模块不确定它们是否应该与其他模块不同。您下载的zip文件只是源代码,它显式地使用node_modules/as作为常规。下载的zip包含一个package.json,其中包含acorn作为运行时依赖项。我怀疑webpack在运行时需要一个解析器,所以我想知道这个列表有多精确。它取决于是否有人在安装依赖项时设置-D/-save dev和/或在合并之前查看包含项,没有技术要求将所有dev依赖项都放在devdependences中。我真的不确定你的上下文是什么,你所说的Web包运行时是什么意思,或者这个依赖项列表对你有什么帮助。我假设你知道术语“运行时”是指应用程序运行时使用的库,而不是术语“设计时”或“开发”,即应用程序正在开发中。React使用Webpack生成web应用程序的输出文件。在开发阶段或更确切地说在构建阶段进行生产构建。此构建需要执行某些库,例如Webpack运行时,但也需要一些其他库。因为这个运行时是提供给客户的,所以了解实际提供的代码非常重要。出于法律原因,许多公司都需要批准。在这种情况下,我想你真的是在问捆绑包中有什么-看看source maps.js.map文件,其sources属性告诉你其中的代码来自何处。捆绑包中不存在Webpack中的运行时代码-我不认为这是真的,我之前制作的vanilla CRA的构建输出包括一个运行时main..js,其中包含Webpack的引导代码。你说得对。我这边的措辞很糟糕。我要改一下课文。