Angular 應用外殼

2022-07-12 09:44 更新

應用外殼

應用外殼是一種在構建期間借助路由渲染部分應用的方法。它可以通過快速啟動一個靜態(tài)渲染頁面(所有頁面的公共骨架)來改善用戶體驗。與此同時,瀏覽器會下載完整的客戶端版本,并在代碼加載后自動切換到完整版。

這能讓用戶快速看到應用中第一個有意義的畫面,因為瀏覽器可以渲染出 HTML 和 CSS,而無需初始化任何 JavaScript。

欲知詳情,參閱應用外殼模型。

第 1 步:準備本應用

可以用下列 CLI 命令來執(zhí)行本操作:

ng new my-app --routing

對于既有應用,你必須手動添加 ?RouterModule ?并在應用中定義 ?<router-outlet>?。

第 2 步:創(chuàng)建應用外殼

使用 CLI 自動創(chuàng)建一個應用外殼。

ng generate app-shell

執(zhí)行完這個命令,你會發(fā)現(xiàn) ?angular.json? 配置文件中已經(jīng)增加了兩個新目標,并做了一些其它更改。

"server": {
  "builder": "@angular-devkit/build-angular:server",
  "defaultConfiguration": "production",
  "options": {
    "outputPath": "dist/my-app/server",
    "main": "src/main.server.ts",
    "tsConfig": "tsconfig.server.json"
  },
  "configurations": {
    "development": {
      "outputHashing": "none",
    },
    "production": {
      "outputHashing": "media",
      "fileReplacements": [
        {
          "replace": "src/environments/environment.ts",
          "with": "src/environments/environment.prod.ts"
        }
      ],
      "sourceMap": false,
      "optimization": true
    }
  }
},
"app-shell": {
  "builder": "@angular-devkit/build-angular:app-shell",
  "defaultConfiguration": "production",
  "options": {
    "route": "shell"
  },
  "configurations": {
    "development": {
      "browserTarget": "my-app:build:development",
      "serverTarget": "my-app:server:development",
    },
    "production": {
      "browserTarget": "my-app:build:production",
      "serverTarget": "my-app:server:production"
    }
  }
}

第 3 步:驗證該應用是使用應用外殼的內容構建的

使用 CLI 構建目標 ?app-shell?。

ng run my-app:app-shell:development

或使用產(chǎn)品環(huán)境配置。

ng run my-app:app-shell:production

要驗證構建輸出,請打開 ?dist/my-app/browser/index.html?。尋找默認的文本 ?app-shell works!? 就可以驗證這個應用外殼路由確實是作為輸出的一部分渲染出來的。


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號