当我使用react框架并执行npm install
时,在我的node_modules上生成了大约27,000个文件。大小不是问题,而是文件的数量。如果必须将该目录复制到其他位置,由于文件太多,将花费很长时间。如果我必须删除它,那也要花费很长时间。我的Google驱动器同步没有用于node_modules的“排除文件夹”选项,因此,与云同步也需要很长时间。我也不喜欢我拥有的每个React项目都会生成另外27,000个文件的事实。
有人对此有解决方案吗?基本上,我不想为我创建的每个React项目提供27,000个文件。我当时想在某个地方只有一个GLOBAL node_modules,所有react应用程序都会调用它,而不是创建自己的node_modules文件夹。
这是我的package.json
{
"name": "react-typescript-tutorial",
"version": "0.1.0",
"private": true,
"dependencies": {
"axios": "^0.18.0",
"enzyme": "^3.3.0",
"react": "^16.4.1",
"react-bootstrap": "^0.32.1",
"react-dom": "^16.4.1",
"react-redux": "^5.0.2",
"react-router-dom": "^4.3.1",
"react-router-redux": "^5.0.0-alpha.9",
"redux": "^4.0.0",
"redux-thunk": "^2.3.0"
},
"scripts": {
"start": "react-scripts-ts start",
"build": "react-scripts-ts build",
"test": "react-scripts-ts test --env=jsdom",
"eject": "react-scripts-ts eject"
}
}
P.S。如果可以生成更少的文件,我愿意更改为另一个包管理器,例如yarn或其他任何东西。
答案 0 :(得分:1)
尝试一下:
npm link
。npm link <name module need link>
我不通过Google驱动器同步它,但npm不需要安装它。
您可以尝试 Exclude folder in Folder 或 Exclude subfolder from sync, but keep this folder in PC
或者您不使用npm install
安装模块。
您应该为所有人安装全局变量,并将环境变量NODE_PATH
设置为全局node_modules。
需要时,节点将调用它。
答案 1 :(得分:1)
我同意,他们制作多少个文件太荒谬了。如果他们不会在一个新文件中只写十行,那会更好。我认为该结构不是很可靠。可怜的文件系统必须制作所有这些文件。幸运的是,我不再使用硬盘驱动器,但是处理许多文件仍然需要更长的时间。
edit:所以我只检查了我的react ++ mobx,+ decorators项目,它有一个node_modules文件夹,用于存放重复文件的小项目。它具有16000个重复文件,可以清除280MB中的150MB。我认为这完全是不必要的。当每个依赖项可能使用相同的版本时,它们可能会出现多个版本。
答案 2 :(得分:0)
我正在考虑学习其他东西。
Elm听起来很有希望使文件系统井井有条。 谷歌的聚合物项目旨在将网络变成根本不需要任何框架。