目前是否需要 280 个依赖项才能使用 angular2?

Are currently 280 dependencies required to use angular2?

我正在做 ng2 入门教程,描述 here:目前只包含一个默认 package.json,我在上面做 npm install

package.json 仅引用了两个开发依赖项,所有其他都是 angular 所需的一级或二级依赖项。

现在我的 node_modules 总共有 280 个包,其中包含 10.648 个文件和 986 个目录。

我可能会迟到,但我可以在部署时压缩或部署这些 dep 的最小集合吗?我不是说缩小。

其他人是否只是简单地将 ~11k 的额外文件转储到 Web 服务器以显示一些 6 个文件的大 angular 应用程序?还随便忽略了大约280个license?

所有这些许可证是怎么回事?如果不检查这 280 个包中的每一个包,我如何才能真正确定我没有违反任何许可条款?在某些情况下,在公司环境中,许可证验证对于能够使用某些东西是绝对重要的。

我的意思是有一个分包,版权归Walmart所有,叫hoek

这不是咆哮,我确实想使用angular,但我也不想因为推动所有这些可能违反许可而承担责任节点模块。

这些包中的大部分来自开发依赖项。当您在实际服务器上部署时,您想要 运行 npm install --production 然后您会看到安装的软件包列表非常短:

PS C:\play\angular-quickstart> npm install --dry-run --production
angular-quickstart@1.0.0 C:\play\angular-quickstart
+-- @angular/common@2.3.1
+-- @angular/compiler@2.3.1
+-- @angular/core@2.3.1
+-- @angular/forms@2.3.1
+-- @angular/http@2.3.1
+-- @angular/platform-browser@2.3.1
+-- @angular/platform-browser-dynamic@2.3.1
+-- @angular/router@3.3.1
+-- @angular/upgrade@2.3.1
+-- angular-in-memory-web-api@0.1.17
+-- core-js@2.4.1
+-- reflect-metadata@0.1.8
+-- rxjs@5.0.0-rc.4
| `-- symbol-observable@1.0.4
`-- zone.js@0.7.3

npm WARN angular-quickstart@1.0.0 No description
npm WARN angular-quickstart@1.0.0 No repository field.

如果查看默认 npm install 命令的等效输出,您会发现几乎所有包都列为 lite-server 的依赖项,这是您用于测试的 Web 服务器。在生产环境中,您需要使用真正的 Web 服务器,这样您就不需要任何这些包了。