av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

創(chuàng)新互聯(lián)Angular教程:Angular編譯器選項(xiàng)

Angular 編譯器選項(xiàng)

使用 AoT 編譯 時(shí),可以通過(guò)在 TypeScript 配置文件中 指定模板編譯器選項(xiàng)來(lái)控制如何編譯應(yīng)用程序。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了烏海海南免費(fèi)建站歡迎大家使用!

模板選項(xiàng)對(duì)象 ?angularCompilerOptions ?和為 TypeScript 編譯器提供標(biāo)準(zhǔn)選項(xiàng)的 ?compilerOptions ?對(duì)象是兄弟。

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    // ...
  },
  "angularCompilerOptions": {
    "enableI18nLegacyMessageIdFormat": false,
    "strictInjectionParameters": true,
    // ...
  }
}

用 extends 語(yǔ)法配置繼承方式

像 TypeScript 編譯器一樣,Angular 的 AOT 編譯器也支持對(duì) TypeScript 配置文件中的 ?angularCompilerOptions ?進(jìn)行 ?extends?。?extends ?屬性位于頂層,和 ?compilerOptions ?和 ?angularCompilerOptions ?平級(jí)。

使用 ?extends ?屬性,TypeScript 配置可以從另一個(gè)文件中繼承設(shè)置。首先從基礎(chǔ)文件中加載配置項(xiàng),然后被繼承自它的配置文件中的配置項(xiàng)覆寫(xiě)。

比如:

{
    "extends": "./tsconfig.json",
    "compilerOptions": {
      "outDir": "./out-tsc/app",
    // ...
    "angularCompilerOptions": {
      "strictTemplates": true,
      "preserveWhitespaces": true,
      // ...
    },
  }

欲知詳情,參閱 TypeScript 手冊(cè)。

模板選項(xiàng)

以下選項(xiàng)可用于配置 AoT 模板編譯器。

allowEmptyCodegenFiles

如果為 ?true?,則生成所有可能的文件 —— 即使它們?yōu)榭?。默認(rèn)值為 ?false?。Bazel 的構(gòu)建規(guī)則使用它來(lái)簡(jiǎn)化 Bazel 規(guī)則跟蹤文件依賴(lài)性的方式。不要在 Bazel 規(guī)則之外使用此選項(xiàng)。

annotationsAs

修改 Angular 專(zhuān)有注解的生成方式,以改善搖樹(shù)優(yōu)化。非 Angular 注解不受影響??蛇x值為 ?static fields?(默認(rèn)值)或 ?decorators?。

  • 默認(rèn)情況下,編譯器會(huì)用類(lèi)中的靜態(tài)字段替換裝飾器,這允許像 Closure 編譯器 這樣的高級(jí)搖樹(shù)器刪除未使用的類(lèi)。
  • ?decorators ?值會(huì)將裝飾器保留在原處,這將使編譯速度更快。TypeScript 會(huì)生成對(duì)輔助器 ?__decorate? 的調(diào)用。使用 ?--emitDecoratorMetadata? 以支持運(yùn)行時(shí)反射。
  • 注意:

    這樣生成的代碼將無(wú)法被正確地?fù)u樹(shù)優(yōu)化。

annotateForClosureCompiler

如果為 ?true?,則使用 Tsickle 來(lái)用 JSDoc 對(duì)生成的 JavaScript 代碼進(jìn)行注解,這些注釋是供 Closure 編譯器 使用的。默認(rèn)值為 ?false?。

compilationMode

指定要使用的編譯模式??梢允褂靡韵履J剑?/p>

模式

詳情

'full'

根據(jù)當(dāng)前使用的 Angular 版本生成完全 AOT 編譯的代碼。

'partial'

生成穩(wěn)定的中間代碼,適用于已發(fā)布的庫(kù)。

默認(rèn)值為 'full'。

disableExpressionLowering

如果為 ?true?(默認(rèn)值),則轉(zhuǎn)換在注解中使用或允許使用的代碼,以允許從模板的工廠(chǎng)模塊導(dǎo)入代碼。

如果為 ?false?,則禁用此重寫(xiě),你必須手動(dòng)進(jìn)行重寫(xiě)。

disableTypeScriptVersionCheck

如果為 ?true?,則在使用不受支持的 TypeScript 版本時(shí),編譯器不會(huì)檢查 TypeScript 版本,并且不會(huì)報(bào)錯(cuò)。不建議使用,因?yàn)椴皇苤С值?nbsp;TypeScript 版本可能具有未定義的行為。默認(rèn)值為 ?false?。

enableI18nLegacyMessageIdFormat

指示 Angular 模板編譯器為模板中用 ?i18n ?屬性標(biāo)出的消息生成舊版 ID。

除非你的項(xiàng)目依賴(lài)先前已用舊版 ID 生成的翻譯,否則請(qǐng)將此選項(xiàng)設(shè)置為 ?false?。默認(rèn)值為 ?true?。

Ivy 之前版本的消息提取工具為所提取的消息 id 生成了多種舊格式。這些消息格式存在許多問(wèn)題,比如對(duì)空白字符的處理和對(duì)模板原始 HTML 內(nèi)部信息的依賴(lài)。

新的消息格式對(duì)空白字符的改動(dòng)更寬容,在所有翻譯文件格式中都相同,并且可以直接通過(guò)調(diào)用 ?$localize? 生成。這允許應(yīng)用程序代碼中的 ?$localize? 消息使用與組件模板中 ?i18n ?消息完全相同的 id。

enableResourceInlining

當(dāng)為 ?true ?時(shí),將所有 ?@Component? 裝飾器中的 ?templateUrl ?和 ?styleUrls ?屬性替換為 ?template ?和 ?styles ?屬性中的內(nèi)聯(lián)內(nèi)容。

啟用后,?ngc ?的 ?.js? 輸出不會(huì)包含任何惰性加載的模板或樣式 URL。

對(duì)于使用 CLI 生成的庫(kù)項(xiàng)目,dev 配置下默認(rèn)為 ?true?。

enableLegacyTemplate

如果為 ?true?,則啟用 Angular 4.0 中為了避免與同名的 DOM 元素沖突而不推薦使用的 ?