设置开发环境(node_modules重复)
(我是一个Actionscript
开发者,最终迁移到JavaScript
并且正在学习TypeScript
和AngularJS 2
让我知道这个问题太愚蠢/天真了,我会删除它)
我正在运行Angular 2教程 ,一切都很好,但是我想知道如何设置一个开发环境而不重复,例如“node_modules”和“typings”目录。 我明白,教程要自己完成,所以有重复。 我也得到,例如,下面的行是使用相对于项目文件夹的引用,所以它可以指向其他地方。
是否有避免重复节点模块的“最佳做法”? 我问,因为“node_modules”目录是145 MB。
import {Component} from 'angular2/core';
在每个项目中重复使用node_modules
是node_modules
devise的 – 拥有一个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
大,我希望它们能够在某个时候优化它 – 但是我不认为这是一个很好的理由,把它分开的所有好处都给了你!
- MongoDB的Upsert添加到数组
- Express-session和express-socket.io-session在angular2 / typecript环境中不起作用
- 添加服务器端代码到angular-cli项目与节点types冲突
- 茉莉花忽略打字稿testing文件?
- 如何在Visual Studio 2013中debuggingnode.js应用程序打字稿文件
- 在Typescript中编写并运行node.js应用程序
- 使用cxsd将.xsd转换为TypeScript,不能识别cxsd
- 通过环境TypeScript公开一个Node.js库
- 使用express-validator typescript定义