45 lines
1.5 KiB
Markdown
45 lines
1.5 KiB
Markdown
# Opting out of Angular Ivy
|
|
|
|
Ivy is the code name for Angular's [next-generation compilation and rendering pipeline](https://blog.angular.io/a-plan-for-version-8-0-and-ivy-b3318dfc19f7).
|
|
Starting with Angular version 9, Ivy compilation and rendering pipeline is enabled by default.
|
|
The previous compilation and rendering pipeline, View Engine, is deprecated in version 9, and will be removed at a later date.
|
|
You can choose to opt out of Ivy and continue using View Engine while making the transition.
|
|
|
|
To opt out of Ivy and continue using View Engine for an existing project, set the `enableIvy` option in the `angularCompilerOptions` in your project's `tsconfig.json` to `false`.
|
|
```json
|
|
{
|
|
"compilerOptions": { ... },
|
|
"angularCompilerOptions": {
|
|
"enableIvy": false
|
|
}
|
|
}
|
|
```
|
|
|
|
AOT compilation with Ivy is faster than with View Engine, and can be used for development.
|
|
If you opt out of Ivy, AOT compilation will be slower, and should not be used for development in large projects.
|
|
When Ivy is disabled for a large project, make sure that the `aot` build option in that project configuration is
|
|
set to `false` and it's only set to `true` in the `production` configuration.
|
|
|
|
```json
|
|
{
|
|
"projects": {
|
|
"my-existing-project": {
|
|
"architect": {
|
|
"build": {
|
|
"options": {
|
|
...
|
|
"aot": false,
|
|
},
|
|
"configurations": {
|
|
"production": {
|
|
...
|
|
"aot": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|