在angular2快速入门中使用npm安装过多的节点模块

时间:2016-01-07 02:48:52

标签: node.js npm angular package.json npm-install

节点/ NPM版本:

node:v5.4.0,npm:3.3.12

我正在尝试按照angular2网站上的快速入门教程学习Angular2。

Angular2 Quickstart

这是我的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的任何信息。谢谢。

1 个答案:

答案 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总是在两个模块之间安装一些相同的子模块。我不知道是否处理了这个问题(似乎没有)。