设置开发环境(node_modules重复)

(我是一个Actionscript开发者,最终迁移到JavaScript并且正在学习TypeScriptAngularJS 2让我知道这个问题太愚蠢/天真了,我会删除它)

我正在运行Angular 2教程 ,一切都很好,但是我想知道如何设置一个开发环境而不重复,例如“node_modules”和“typings”目录。 我明白,教程要自己完成,所以有重复。 我也得到,例如,下面的行是使用相对于项目文件夹的引用,所以它可以指向其他地方。

是否有避免重复节点模块的“最佳做法”? 我问,因为“node_modules”目录是145 MB。

 import {Component} from 'angular2/core'; 

在这里输入图像说明

在每个项目中重复使用node_modulesnode_modulesdevise的 – 拥有一个package.json文件和一个相应的依赖文件夹的想法是让你的项目是自给自足的/孤立的,不依赖于它所使用的环境。

也就是说,你可以使用npm install [package] -g命令在全局安装NPM模块,但是这里有一个实际的例子,说明你为什么不应该这样做 – 假设你有一个使用旧版本的Angular 2的项目,想要使用最新function开始第二个项目。 如果您使用的是全局Angular安装,则不可能; 更新版本会更新每个使用它的项目(这可能会破坏你的旧应用程序)。 如果每个项目都有单独的安装,则它们的版本可以不同,而不会造成任何问题。

将项目提交到版本控制时,这也很方便 – 如果整个应用程序依赖于全局安装的模块,而您(或贡献者)希望在另一台机器上工作,则必须通过并安装每个依赖项以便环境与最初开发的环境相匹配。比较一下,在package.json列出您的依赖关系,并从repo中排除您的node_modules文件夹 – 它们只需运行npm install ,NPM将安装所有相关模块他们。

我承认node_modules的大小node_modules可能会变node_modules大,我希望它们能够在某个时候优化它 – 但是我不认为这是一个很好的理由,把它分开的所有好处都给了你!