节点/ NPM版本:
node:v5.4.0,npm:3.3.12
我正在尝试按照angular2网站上的快速入门教程学习Angular2。
这是我的package.json文件(与教程中的完全相同)。
{
"name": "angular2-quickstart",
"version": "1.0.0",
"scripts": {
"tsc": "tsc",
"tsc:w": "tsc -w",
"lite": "lite-server",
"start": "concurrent \"npm run tsc:w\" \"npm run lite\" "
},
"license": "ISC",
"dependencies": {
"angular2": "2.0.0-beta.0",
"systemjs": "0.19.6",
"es6-promise": "^3.0.2",
"es6-shim": "^0.33.3",
"reflect-metadata": "0.1.2",
"rxjs": "5.0.0-beta.0",
"zone.js": "0.5.10"
},
"devDependencies": {
"concurrently": "^1.0.0",
"lite-server": "^1.3.1",
"typescript": "^1.7.3"
}
当我运行npm install时,npm在node_modules文件夹中安装了超过90MB的模块(几百个单独的模块)。
是否存在这么多依赖关系?我觉得这是过分的,一定是出错了。有任何建议或有没有人经历过类似的行为?
NPM安装没有抛出任何错误。
应用程序运行正常,但我无法找到有关应用程序所有必需node_modules的任何信息。谢谢。
答案 0 :(得分:1)
实际上并非所有这些都是必要的。
例如:
"devDependencies": {
"concurrently": "^1.0.0",
"lite-server": "^1.3.1",
"typescript": "^1.7.3"
}
打字稿的模块可以删除,但据我所知,angular2建议将代码写成打字稿,更安全,更强。你也可以使用js或coffeescript,这不是什么大问题。
最重要的模块是
"angular2": "2.0.0-beta.0",
"es6-promise": "^3.0.2",
"es6-shim": "^0.33.3",
ng2正好在es6之下,所以你需要“es6-xxxx”。
我认为这些模块不占用90MB空间,但NPM总是在两个模块之间安装一些相同的子模块。我不知道是否处理了这个问题(似乎没有)。