【发布时间】:2019-01-27 20:00:25
【问题描述】:
我使用提供的标准示例应用程序构建了我的 Electron 应用程序,其中包含许多节点模块。有超过 200 个节点模块,其中许多我不需要。我想删除所有我不需要的,但不清楚如何确定。我需要的一些有依赖模块,我无法确定是哪些。除了删除我认为不需要的模块并测试应用程序以查看它是否正常工作之外,是否有更快速、更准确的方法来确定我需要哪些模块?
在我的 package.json 文件中,依赖部分列出了几个模块。如果我删除所有节点模块并重新运行应用程序,则会安装 package.json 文件中列出的模块,但还会安装数百个。我不知道是否所有其他的都是绝对需要的,或者 npm start 命令是否只是抓取与 package.json 文件中的那些相关的所有内容。
【问题讨论】:
-
根据您的 npm 版本,依赖项安装在
node_modules文件夹中的平面结构中,带有> npm v2.x.x。如果您在package.json文件中引用了所有需要的模块,则干净的 npm install (rm -rf node_modules && npm install) 将仅安装这些模块及其所需的依赖项。 -
我按照你的建议做了,很惊讶它安装了所有数百个文件。我可以假设它们是依赖项,但这并不意味着它们实际上是必需的。我怀疑创建这些依赖项的人只是添加了所有内容,即使我的应用不需要它。
-
最有可能的是,这些模块中的大多数实际上都是必需的。在你的 package.json 中安装了数百个模块,只有 5-10 个是正常的。
-
@AndroidDev 它们是您在
package.json中指定的依赖项的依赖项。无论您是否明确使用它们,这些包本身都需要它们。
标签: node.js