天天看点

谈一谈学习AngularJS2的一些package的心得

package.json 列出了应用的依赖,并定义了一些有用的脚本。

{

  "dependencies": {

    "@angular/common": "2.0.0-rc.4",

    "@angular/compiler": "2.0.0-rc.4",

    "@angular/core": "2.0.0-rc.4",

    "@angular/forms": "0.2.0",

    "@angular/http": "2.0.0-rc.4",

    "@angular/platform-browser": "2.0.0-rc.4",

    "@angular/platform-browser-dynamic": "2.0.0-rc.4",

    "@angular/router": "3.0.0-beta.1",

    "@angular/router-deprecated": "2.0.0-rc.2",

    "@angular/upgrade": "2.0.0-rc.4",

    "systemjs": "0.19.27",

    "core-js": "^2.4.0",

    "reflect-metadata": "^0.1.3",

    "rxjs": "5.0.0-beta.6",

    "zone.js": "^0.6.12",

    "angular2-in-memory-web-api": "0.0.14",

    "bootstrap": "^3.3.6"

  },

  "devDependencies": {

    "concurrently": "^2.0.0",

    "lite-server": "^2.2.0",

    "typescript": "^1.8.10",

    "typings": "^1.0.4"

  }

}

列在 dependencies 下的这些包是 运行 应用的基础,而devDependencies 下的只在 开发 此应用时才用得到。devDependencies 下的这些包在产品环境下安装时会被排除,就像这样:

npm install my-application --production

dependencies

应用程序的 package.json 文件中, dependencies 区下有三类包:

  ● 特性(features) - 特性包为我们的应用程序提供了框架和工具方面的能力。

  ● 填充 (Polyfills) - 填充包弥合了不同浏览器上的 JavaScript 实现方面的差异。

  ● 其它(Other) - 其它库对本应用提供支持,比如 bootstrap 包提供了 HTML 中的小部件和样式。

特性包

Feature Packages

@angular/core - 框架中关键的运行期部件,每一个应用都需要它。 包括所有的元数据装饰器: Component 、Directive ,依赖注入系统,以及组件生命周期钩子。

@angular/common - 常用的那些由 Angular 开发组提供的服务、管道和指令。

@angular/compiler - Angular 的 模板编译器 。 它会理解模板,并且把模板转化成代码,以供应用程序运行和渲染。 开发人员通常不会直接跟这个编译器打交道,而是通过platform-browser-dynamic 或离线模板编译器间接使用它。

@angular/platform-browser - 与 DOM 和浏览器相关的每样东西,特别是帮助往 DOM 中渲染的那部分。 这个包还包含 bootstrapStatic 方法,用来引导那些在产品构建时需要离线预编译模板的应用程序。

@angular/platform-browser-dynamic - 为应用程序提供一些提供商和一个 bootstrap 方法,以便在客户端编译模板。不要用于离线编译。 我们使用这个包在开发期间引导应用,以及引导 plunker 中的范例。

@angular/http - Angular 的 HTTP 客户端。

@angular/router - 组件路由器。

@angular/upgrade - 一组用于升级 Angular 1 应用的工具。

system.js - 是一个动态的模块加载器, 与 ES2015 模块 规范兼容。 还有很多其他选择,比如广受欢迎的 webpack 。 SystemJS 被用在了我们的文档范例中。因为它能工作。

我们的应用程序很可能还会需要一些额外的包,比如 HTML 控件、主题、数据访问,以及其它多种工具。