【发布时间】:2019-10-23 12:20:59
【问题描述】:
如何在 Angular 8 或 9 项目中启用 Ivy?
Ivy 是即将推出的 Angular 渲染引擎,它在不改变 Angular 项目当前代码库的情况下引入了许多不错的功能。
【问题讨论】:
标签: angular
如何在 Angular 8 或 9 项目中启用 Ivy?
Ivy 是即将推出的 Angular 渲染引擎,它在不改变 Angular 项目当前代码库的情况下引入了许多不错的功能。
【问题讨论】:
标签: angular
来源和更多信息通过这个
参考: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,
}
}
}
}
}
}
【讨论】:
使用此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。
【讨论】:
Unknown option: 'enableIvy' 上帝我开始讨厌 angular...