在 angular2 quickstart 中安装 npm 的节点模块过多

Excessive node modules with npm install in angular2 quickstart

Node/NPM 版本:

节点: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 的任何信息。谢谢。

其实并不是所有的都需要。

例如:

"devDependencies": {
    "concurrently": "^1.0.0",
    "lite-server": "^1.3.1",
    "typescript": "^1.7.3"
}

typescript的模块可以去掉,但是据我所知angular2还是建议用typescript来写代码,更安全strong-typed。你也可以用js或者coffeescript,没什么大不了的。

最重要的模块是

"angular2": "2.0.0-beta.0",
"es6-promise": "^3.0.2",
"es6-shim": "^0.33.3",

ng2 就在 es6 之下,所以你需要 "es6-xxxx".

我认为这些模块不会占用 90MB space,但 NPM 总是在两个模块之间安装一些相同的 sub-modules。不知道这个问题有没有处理(好像没有)