天天看點

談一談學習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 控件、主題、資料通路,以及其它多種工具。