【发布时间】:2023-03-18 01:32:02
【问题描述】:
当我创建 react 应用程序时,会在 app/project 文件夹下创建包含数千个包的 node_modules,如果我创建了十多个应用程序,则 node_modules 文件夹会为每个包含数千个包的应用程序创建。所以这种方式重复相同的 node_modules 文件夹与数千个包我认为这不是一个好主意。经过很长时间,系统因基于 npm 的项目创建的数百万个文件和文件夹而变慢。如果 node_modules 从全局运行,那么 app/project 将快速安装,并且没有一个包会重复/重复安装。
在创建/安装任何应用程序/项目时,我想在本地(在 app 文件夹下)安装一个包含数千个包的全局 node_modules 文件夹。
我已经尝试过使用全局命令 Like:
npm -g 安装
yarn-g 安装
让我解释一下我的确切意思: 假设,如果我创建三个反应应用程序
npx create-react-app my-app1
npx create-react-app my-app2
npx create-react-app my-app3
设置所有应用程序后,我们会得到下面的 node_modules 和包:
我的应用程序1
-node-modules->p1,p2,p3....p999, so on..
我的应用程序3
-node-modules->p1,p2,p3....p999, so on..
我的应用程序3
-node-modules->p1,p2,p3....p999, so on..
查看所有相同的软件包安装多次并重复
【问题讨论】:
-
这不是问题。需要在本地安装依赖项以避免版本冲突。仅对可重用工具使用全局安装。拥有数千个文件夹不会导致性能损失。在速度较慢的计算机上,使用资源管理器打开文件夹可能需要一些时间,在这种情况下,请避免打开该文件夹。以您的理解水平,打开该文件夹没有任何收获。
-
另外,npm 缓存你的下载,因此对于每个本地项目,它使用缓存来完全满足依赖要求,它不会在你每次为不同的项目重新安装模块时重新下载。
-
据我所知,软件包与版本分开安装,所以我认为如果某些软件包出现此类问题,则版本不会冲突,然后那些可以安装在 app 下但不是所有软件包。
-
包依赖非常复杂,这使得在现实世界的项目中进行这种共享是不可行的,而且它不仅适用于您的本地副本。该项目必须在多个环境中工作,例如生产、登台、测试。您是指带有相关子项目的工作区吗?如果是这样,您可以将 node_modules 拉到根文件夹。如果您的意思是在不可行的不相关项目之间共享。
-
请再次检查问题,我编辑了我的意思。
标签: reactjs react-native npm npm-install create-react-app