【发布时间】:2019-02-20 13:14:18
【问题描述】:
我的项目有一个 TypeScript/Express 服务器,我想将 Angular 添加到同一个项目中。
我完成了official tutorial,所以我了解了基础知识。
大多数人只会使用官方的 Angular “样板” - ng new appname。但我想知道要添加到package.json 的最小软件包集,以及为什么。
我认为有些包是不必要的,添加这些包是为了让开发人员更容易学习 Angular - 我不想要这些。
CLI 将这些添加为 dependencies:
@angular/animations
@angular/common
@angular/compiler
@angular/core
@angular/forms
@angular/platform-browser
@angular/platform-browser-dynamic
@angular/router
core-js
rxjs
tslib
zone.js
这些为devDependencies:
@angular-devkit/build-angular
@angular/cli
@angular/compiler-cli
@angular/language-service
codelyzer
jasmine-core // I assume this is for unit testing
jasmine-spec-reporter // I assume this is for unit testing
karma
karma-chrome-launcher
karma-coverage-istanbul-reporter
karma-jasmine
karma-jasmine-html-reporter
protractor // I assume this is for integration testing
ts-node
其中哪些是实际需要的? (或者换一种说法:我可以删除哪些?)
【问题讨论】:
-
解释反对意见。这是一个很好的问题。大多数开发人员只是使用样板而不关心细节。我不能那样建立一个专业的系统,我需要知道为什么需要它的所有部分。
-
不必要的标签,一个问题太多问题...
-
我用 Jest 测试我的服务器。我可以用它来代替 Jasmine 和 Karma 和 Protractor 专业开发人员会知道这个问题没有意义。
-
一个 Angular 项目被编译并部署为一组静态文件......所以我认为一切都将在 devDependencies 中。为什么依赖项中有包您可能想了解这两者的概念差异
-
dependencies中的大部分包都是必需的。您可以根据需要从角度修剪一对。devDependencies中的很多内容是可选的,您应该能够通过阅读其中包含的不同模块来回答您需要的内容。
标签: angular angular-cli boilerplate