我可以为所有angular2 / 4项目使用一个node_module文件夹

时间:2017-09-28 06:39:23

标签: node.js angular npm node-modules

我正在学习Angular,每次创建一个新项目需要花费5分钟,因为100MB文件夹" node_modules"哪个CLI创建。并且此文件夹中的文件始终相同(除非您添加一些我从未做过的依赖项)。有没有办法为每个项目使用一个node_modules文件夹?

3 个答案:

答案 0 :(得分:5)

查看https://yarnpkg.com/blog/2017/08/02/introducing-workspaces/

  

Yarn Workspaces是一项允许用户安装依赖项的功能   来自单个根的子文件夹中的多个package.json文件   package.json文件,一气呵成。

     

使Yarn的原生工作空间可以实现更快,更轻的安装   通过阻止跨工作区的包重复。纱线也可以   在彼此依赖的工作空间之间创建符号链接   确保所有目录的一致性和正确性。

npm install -g yarn

答案 1 :(得分:2)

您可以全局安装所有依赖项,也可以从一个位置创建一个符号链接到每个项目。

但这是不好的做法,正确的方法是为每个项目使用单独的node_modules,即使您使用相同的包。一旦你需要在不同的项目中使用相同包的不同版本,常见的node_modules会引起很多麻烦。

如果您只想更快地安装软件包并且不关心版本非常匹配,请尝试使用npm cachenpm install --prefer-offline。我没有使用它,但相信它应该有用。

答案 2 :(得分:1)

只有node(npm install)安装的软件包才能在node_modules文件夹中。这是因为,如果有人想要安装您的项目,而不是使用包含的node_modules下载整个项目。他们输入npm install。

基于packag.json,node_modules现在将下载到node_modules文件夹。

因此,如果它是npm包,您可以将angular放在node_modules文件夹中。不,你不能把自己的文件放在这个文件夹中。

所以你可以将package.json复制到每个项目并运行npm install。然后所有node_modules都是相同的。