我正在进行ng2入门教程,描述here:目前只包含一个默认的package.json,我在其上npm install
package.json仅引用两个dev依赖项,所有其他依赖项是angular所需的第一级或第二级依赖项。
现在我的node_modules总共包含280个包,包含10.648个文件和986个目录。
我可能会迟到,但是我可以在部署时压缩或部署这些deps的最小集合吗?我并不意味着缩小。
其他人是否只是将~11k的额外文件转储到Web服务器上以显示一些6个文件的大角度应用程序?还随便忽略了大约280个许可证?
关于所有这些许可证的内容是什么?如果不检查这280个软件包中的每一个,我怎么能确定我没有违反任何许可条款?在某些情况下,在企业环境中,许可证验证对于能够使用某些东西绝对至关重要。
我的意思是有一个子包,其版权由沃尔玛持有,名为hoek
这不是一个咆哮,我做想要使用angular但我也不想通过推送所有这些节点模块来对可能的许可证违规负责。
答案 0 :(得分:3)
这些软件包中的大多数都来自开发依赖项。当您在实际服务器上部署时,您希望运行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
命令的等效输出,您会发现几乎所有软件包都列为mysqldump --no-data --skip-comments dbname
的依赖项,这是您用于测试的Web服务器。在制作中,您希望使用真正的网络服务器,因此您不需要任何这些软件包。