[英]setting up development environment (node_modules duplication)
(我是一个最终迁移到JavaScript
的Actionscript
开发人员,正在学习TypeScript
和AngularJS 2
。让我知道这个问题是否太愚蠢/天真,我将其删除)
我正在浏览Angular 2教程 ,一切都很好,但是我想知道人们通常如何设置开发环境而不重复“ node_modules”和“ typings”目录。 我了解这些教程希望自己完整,所以有重复之处。 我也得到了例如,下面的行使用相对于项目文件夹的引用,因此它可以指向其他地方。
是否有避免重复节点模块的“最佳实践”? 我问,因为“ node_modules”目录为145 mb。
import {Component} from 'angular2/core';
每个项目中重复的node_modules
是设计node_modules
-具有package.json
文件和相应的依赖文件夹的想法是,使您的项目能够自给自足/独立,并且不依赖于所使用的环境。
也就是说,您可以使用npm install [package] -g
命令在全球范围内安装NPM模块,但这是一个实际示例,说明为什么您不应该这样做 -假设您有一个正在进行的项目正在使用旧版本的Angular 2,并且您想使用最新功能启动第二个项目。 如果您正在使用全局Angular安装,则不可能。 更新版本会为正在使用它的每个项目更新它(这可能会严重破坏您的旧应用程序)。 如果每个项目有单独的安装,则它们的版本可以不同,而不会引起任何问题。
在将项目提交到版本控制中时,这也很方便-如果您的整个应用程序都依赖于全局安装的模块,而您(或贡献者)想在另一台计算机上使用它,则他们必须检查并安装每个依赖项手动进行操作,以使环境与最初开发的环境相匹配。这与将您的依赖项列在package.json
以及将node_modules
文件夹排除在node_modules
之外–他们只需要运行npm install
,NPM就会为他们。
我承认node_modules
的大小node_modules
可能会变node_modules
大,我希望它们可以在某个时候对其进行优化-但我认为这不是扔掉将其分开给您带来所有好处的好理由!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.