【问题标题】:npm install Creates 267 sub-folders with the Official Angular2 Quickstart Tutorial [duplicate]npm install 使用官方 Angular2 快速入门教程创建 267 个子文件夹 [重复]
【发布时间】:2017-03-21 10:20:56
【问题描述】:

我是 Angular 和 Node 的新手,正在关注官方 Angular2 documentation

在步骤1中,建议您通过复制示例创建package.jsontsconfig.jsonsystemjs.config.js代码(我已经完全做到了)。然后,您将被指示从指向这些文件所在文件夹的命令 propmt 运行 npm install

所以,我已经使用适用于 Windows 的 Node.js v7.0 完成了此操作(完全按照说明),并且在完成命令后,我的 node_modules 文件夹现在包含 267 个子文件夹!

这不可能是正确的,对吗?这是 package.json 代码:

{
  "name": "angtest",
  "version": "1.0.0",
  "scripts": {
    "start": "tsc && concurrently \"tsc -w\" \"lite-server\" ",
    "lite": "lite-server",
    "tsc": "tsc",
    "tsc:w": "tsc -w"
  },
  "licenses": [
    {
      "type": "MIT",
      "url": "https://github.com/angular/angular.io/blob/master/LICENSE"
    }
  ],
  "dependencies": {
    "@angular/common": "~2.1.1",
    "@angular/compiler": "~2.1.1",
    "@angular/core": "~2.1.1",
    "@angular/forms": "~2.1.1",
    "@angular/http": "~2.1.1",
    "@angular/platform-browser": "~2.1.1",
    "@angular/platform-browser-dynamic": "~2.1.1",
    "@angular/router": "~3.1.1",
    "@angular/upgrade": "~2.1.1",
    "angular-in-memory-web-api": "~0.1.13",
    "core-js": "^2.4.1",
    "reflect-metadata": "^0.1.8",
    "rxjs": "5.0.0-beta.12",
    "systemjs": "0.19.39",
    "zone.js": "^0.6.25"
  },
  "devDependencies": {
    "@types/core-js": "^0.9.34",
    "@types/node": "^6.0.45",
    "concurrently": "^3.0.0",
    "lite-server": "^2.2.2",
    "typescript": "^2.0.3"
  }
}

【问题讨论】:

  • 欢迎来到 Node.js 和 NPM 的世界!
  • 我从事 SO 多年,拥有超过 10k 的代表,但我一生都无法理解为什么这个合理、有据可查且解释清楚的问题被否决。
  • 好吧,我没有否决它,我只是投票关闭它作为一个骗局。我认为这是一个合理的问题。当你第一次看到这样的依赖图时,你会感到有点震惊。
  • 我知道,对吧?!尤其是因为 Angular 文档告诉你该怎么做,但不要说你会得到多少依赖。

标签: node.js angular npm-install


【解决方案1】:

TL;DR: 没关系。

npm 的构建是为了让您安装的每个模块在 node_modules 下都有自己的文件夹。此外,我们鼓励您在编写 npm 包时使用其他 npm 包作为依赖项,这些包有自己的依赖项等。因此,很自然地,在安装几乎任何 npm 包时,您都会得到几十个依赖项,它们都有自己的文件夹。

奖励:阅读 this

【讨论】:

    【解决方案2】:

    我认为这是正确的。这些库通常有很多子依赖项,这些子依赖项具有子依赖项等等。使用 NPM v3npm install 构建这些文件的方式发生了变化,现在它们都位于顶层而不是子文件夹中。

    【讨论】:

      猜你喜欢
      • 2014-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2016-10-29
      • 1970-01-01
      • 2022-01-15
      • 1970-01-01
      相关资源
      最近更新 更多