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.json、tsconfig.json和systemjs.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 install 命令之后挂钩(特别是安装后)