We would like to use the new Angular 8 Ivy compiler with webpack. We don't use Angular CLI. Is this possible? How can this be done? I can't seem to find information regarding this requirement.
We would like to use the new Angular 8 Ivy compiler with webpack. We don't use Angular CLI. Is this possible? How can this be done? I can't seem to find information regarding this requirement.
To learn what to do you have to dig into Angular CLI code and see where exactly they use enableIvy flag.
I haven't seen your Webpack config but I guess you're using AngularCompilerPlugin.
If this is the case then you have to provide it with enableIvy in compilerOptions.
For more details look here (where the flag is defined), here (where the plugin options are defined) and here (where plugin's compilerOptions are initialized).
The plugin configuration will probably look like this:
... // The rest of your webpack config
plugins: [
new AngularCompilerPlugin({
compilerOptions: {
enableIvy: true,
...// the rest of compiler options
}
...// The rest of options you provide to AngularCompilerPlugin
})
...// The rest of your plugins
]
I'm not sure if they are using this flag in other places but this place is a must and it will probably give you what you want.
In any case if you want to save yourself a headache I'd recommend you to stick with Angular CLI.
Otherwise you'll have to visit their code base quite often.
If you're using Webpack then most probably it is possible to do what you need with Angular CLI and Custom Webpack Builder.
If you're having a hard time configuring the builder you're more than welcome to visit Angular Builders Slack channel.
Ivy is not yet officially released. With version 8 of Angular you can opt into the preview with the CLI.
See: https://blog.angular.io/a-plan-for-version-8-0-and-ivy-b3318dfc19f7
Angular should be fully switched over to Ivy in version 9. You'll likely find more documentation on using Ivy with a custom webpack config then.
Until then I would suggest either of the following:
ng eject alternative and they will likely have more answers than the average joe on stack overflow when it comes to this kinds of issue.Ivy is still in preview mode. If you want to try to follow the steps from the screenshot below,
It is mentioned in the official documentation, https://angular.io/guide/ivy#using-ivy-in-an-existing-project