npm install 使用官方 Angular2 快速入门教程创建 267 个子文件夹 [重复]

Posted

技术标签:

【中文标题】npm install 使用官方 Angular2 快速入门教程创建 267 个子文件夹 [重复]【英文标题】:npm install Creates 267 sub-folders with the Official Angular2 Quickstart Tutorial [duplicate] 【发布时间】: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 文档告诉你该怎么做,但不要说你会得到多少依赖。 【参考方案1】:

TL;DR: 没关系。

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

奖励:阅读 this。

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于npm install 使用官方 Angular2 快速入门教程创建 267 个子文件夹 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

NPM 常用命令

[转] npm install 本地安装与全局安装的区别

在任何 npm install 命令之后挂钩(特别是安装后)

centos 7 部署 dotnetcore+Angular2 实践

使用 TS 但没有 NPM 在 Angular2 上开发

Angular2 材质 npm 依赖项