【问题标题】:Why I have too many packages inside my node_modules?为什么我的 node_modules 中有太多的包?
【发布时间】:2017-11-29 07:00:57
【问题描述】:

我是新手,当我第一次使用 npm create-react-app 根据文档创建我的应用程序时,我发现在我编码时文件夹 node_module 中包含很多包,我只使用 react 和 react DOM 和等等。

node_modules
 acorn
 timer
 ansi
 and many more

我想知道是否有人可以帮助我理解 node_module 中的每次使用,或者我在哪里可以找到每次使用的文档?

或者我怎样才能减少到我只想使用的东西来减小应用程序的大小?

【问题讨论】:

标签: npm


【解决方案1】:

答案是 2:

  1. 因为您使用的是自动脚手架工具,它基本上可以为您完成所有工作,而且您只需编写代码,它应该在本地部署它需要工作的所有包(例如,需要 webpack 来捆绑您的代码,babel 转译它,...
  2. node_modules下你会找到整个应用程序的所有包。这意味着您将同时找到your dependenciesdependencies of your dependencies(此规则有一些例外情况,您可以在npm 文档中找到它们。

示例:

// your code depends on A

var dependency = require('A');

// but then, inside your A dependency you can also find something similar to:

var b = require('B');

我怎样才能减少到我只想使用的东西来减小应用程序的大小?

你基本上不能做到这一点。它们都是必需的。

【讨论】:

  • 所以我需要先在本地部署它?我在哪里可以找到关于我只需要在 react 中使用的文档,以便可以减少 node_modules 中的所有 100++mb?
  • 你不能减少你的数量,就像我说的那样所有这些都是需要的,但你总是可以像我们在 1990 年那样发展,只需将 React 包含在你的 html 通过一些 cdn 就可以了。
【解决方案2】:

我们从 npm 中提取的大多数库都有依赖项。你可能只使用 react 和 react-dom,但有些 react-scripts 需要很多东西。我认为您不必担心node_modules 的大小。这不是您应该在生产中发布的内容。

如果你想看看这些模块是什么,你可以打开它们的文件夹和README.md文件。

【讨论】:

  • 如果我想删除我不需要的东西,我应该在 node_modules 中删除它吗?
  • 如果碰巧有一些你不使用的东西,你可以从 node_modules 中删除它。您可以随时通过调用npm installyarn install(如果您使用纱线)将其恢复。问题是,有时很难说您是否需要此文件夹中的某些内容。为什么不清理你的 package.json 文件,完全删除 node_modules 并重新安装。然后你将只有 package.json 中的那些模块。
猜你喜欢
  • 2020-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-23
  • 2011-11-01
  • 2023-03-14
  • 2020-05-14
  • 2011-11-07
相关资源
最近更新 更多