【发布时间】:2022-01-16 02:23:19
【问题描述】:
我是 JS 开发的新手,我想知道节点模块的大小是一个值得关注的问题,当许多项目堆积起来并且没有使用时,甚至必须继续删除文件夹,为什么我们不能有一个全局节点模块文件夹,比如 maven 的 m2,然后在我们的项目中引用它?
为什么我们在每个项目中都需要多个节点模块文件夹?
【问题讨论】:
标签: javascript node.js npm node-modules
我是 JS 开发的新手,我想知道节点模块的大小是一个值得关注的问题,当许多项目堆积起来并且没有使用时,甚至必须继续删除文件夹,为什么我们不能有一个全局节点模块文件夹,比如 maven 的 m2,然后在我们的项目中引用它?
为什么我们在每个项目中都需要多个节点模块文件夹?
【问题讨论】:
标签: javascript node.js npm node-modules
由于 java 脚本没有编译,我们需要在每个部署中的所有插件都编译好 maven,这样我们就可以在全局安装插件的情况下将其编译为机器代码
【讨论】:
各种原因。仅供参考,您可以在安装时使用 -g 标志全局安装 npm 包。
以下是一些原因:
【讨论】:
您可以在全局范围内安装软件包并在使用npm install 时使用它们with the -g flag。
但这并不经常这样做,而且通常不建议这样做,因为同一个包可以有很多很多不同的版本。 SomeLibrary 5.6.1 版可能与 SomeLibrary 5.7.1 版有很大不同。如果您有多个项目,它们通常会有不同的依赖项和不同的依赖项版本。如果您尝试从 same 全局安装中获取它们,您通常会很快遇到问题。每个项目都有一个单独的node_modules 文件夹可以为您解决这个问题;通常,您拥有的每个项目的包版本控制将“正常工作”而无需任何额外配置。
还有像Yarn这样的管理器可以缓存包下载,这样你就不会在多个项目中重新下载大量重复的兆字节
【讨论】: