【问题标题】:How do I enable Ivy for Angular 8 or 9?如何为 Angular 8 或 9 启用 Ivy?
【发布时间】:2019-10-23 12:20:59
【问题描述】:

如何在 Angular 8 或 9 项目中启用 Ivy?

Ivy 是即将推出的 Angular 渲染引擎,它在不改变 Angular 项目当前代码库的情况下引入了许多不错的功能。

【问题讨论】:

标签: angular


【解决方案1】:

来源和更多信息通过这个

参考:https://dzone.com/articles/how-to-upgrade-angular-packagesenable-ivy-compiler

你可以自动升级

npm i -g @angular/cli@latestng update

或在您的tsconfig.json 文件中 更新这个

{
  "compilerOptions": {
    "module": "esnext",
    // ...
  },
  "angularCompilerOptions": {
    "enableIvy": true,
    "allowEmptyCodegenFiles": true
  }
}

然后你的angular.json 文件

{
  "projects": {
    "your-project": {
      "architect": {
        "build": {
          "options": {
            ...
            "aot": true,
          }
        }
      }
    }
  }
}

【讨论】:

    【解决方案2】:

    使用此official 指南。

    在新项目中使用 Ivy:

    要在启用 Ivy 的情况下启动新项目,请将 --enable-ivy 标志与 ng new 命令一起使用:

    ng new shiny-ivy-app --enable-ivy
    

    为 Ivy 自动配置新项目。具体来说,在项目的tsconfig.app.json 文件中将 enableIvy 选项设置为 true。

    在现有项目中使用 Ivy:

    要更新现有项目以使用 Ivy,请在项目的 tsconfig.app.json 的 angularCompilerOptions 中设置 enableIvy 选项。

    {
      "compilerOptions": { ... },
      "angularCompilerOptions": {
        "enableIvy": true
      }
    }
    

    使用 Ivy 的 AOT 编译速度更快,应该默认使用。在 angular.json 工作区配置文件中,将项目的默认构建选项设置为始终使用 AOT 编译。

    {
      "projects": {
        "my-existing-project": {
          "architect": {
            "build": {
              "options": {
                ...
                "aot": true,
              }
            }
          }
        }
      }
    }
    

    要停止使用 Ivy 编译器,请将tsconfig.app.json 中的 enableIvy 设置为 false,或将其完全删除。如果您以前没有默认构建选项,也请从默认构建选项中删除 "aot": true。

    【讨论】:

    • 使用 Angular 10,在这个答案发布几个月后:Unknown option: 'enableIvy' 上帝我开始讨厌 angular...
    • 从事 Angular 工作 3 年。用最新版本的 angular 会让人头疼!
    • @BenWinding Angular 9 于 2020 年 2 月 6 日发布。版本 9 使所有应用程序默认使用 Ivy 编译器和运行时。来源:en.wikipedia.org/wiki/Angular_(web_framework)
    猜你喜欢
    • 2020-10-16
    • 2020-06-04
    • 1970-01-01
    • 2023-03-16
    • 2019-10-15
    • 1970-01-01
    • 2020-06-07
    • 2020-10-15
    • 2020-10-01
    相关资源
    最近更新 更多