真正需要官方Angular样板中的哪些软件包,为什么?

时间:2019-02-20 13:14:18

标签: angular angular-cli boilerplate

我的项目有一个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

实际上需要哪些? (或换种说法:我可以删除其中的哪些?)

1 个答案:

答案 0 :(得分:1)

  

employees.stream().collect(Collectors.mapping(emp -> { if("Raj".equals(emp.getFirstName())) { return new Employee(emp.getFirstName(), emp.getLastName(), null); } return emp; }, Collectors.toList())); 。据我所知,在此列表中没有可选项。

@角度/动画 对于动画。没有动画,网页过渡可能看起来突然而震撼。 Docs

@ angular / common @ angular / compiler @角度/核心 这三个都是核心库。

@ angular / forms 支持HTML表单,特别是绑定。

@ angular / platform-b​​rowser 支持在不同支持的浏览器上交付Angular应用。 Docs

@ angular / platform-b​​rowser-dynamic 知道如何在特定浏览器上引导应用程序。 Docs

@角度/路由器 支持路由。

core-js JavaScript的模块化标准库。包括用于ECMAScript 5,ECMAScript 6的polyfill。Docs

rxjs 支持事件和可观察物。

tslib 这是TypeScript的运行时库,其中包含所有TypeScript辅助函数。 Docs

zone.js 在angular2中使用zonejs的主要目的是要知道何时渲染。 Docs

  

dependencies

@ angular-devkit / build-angular 可能是angular-cli需要的。

@ angular / cli @ angular / compiler-cli 两者都必须使angular-cli正常工作。

@语言/语言服务 Angular Language Service是一种在Angular模板中获取完成,错误,提示和导航的方法。 Docs

代码分析器 Angular项目的静态分析。 Docs

茉莉花芯 茉莉花规格报告器 分别用于单元测试和生成覆盖率报告。

业力 业力铬发射器 因果报偿-伊斯坦布尔报道 茉莉花 karma-jasmine-html-reporter 业力是一名测试赛跑者。茉莉花使用此。使用记者来生成报道。

量角器 用于端到端测试。

ts节点 NodeJ的打字稿。

  

对于您的原始问题,我不建议删除任何内容,因为如您所见,它们每个人都在做某些特定的事情,而您不想在开发时放松。我的小型角度应用程序约为500Mb,但这无关紧要,因为一旦执行devDependencies,它就会被编译为20Mb。

     

此外,如linked SO answer中所述,您可以使用ng build生成运行应用程序所需的软件包的最小列表。