Angular Ivy 编译器和 webpack
Angular Ivy compiler and webpack
我们想将新的 Angular 8 Ivy 编译器与 webpack 一起使用。我们不使用 Angular CLI。这可能吗?如何才能做到这一点?我似乎找不到有关此要求的信息。
Ivy 尚未正式发布。对于 Angular 的第 8 版,您可以选择使用 CLI 进行预览。
参见:https://blog.angular.io/a-plan-for-version-8-0-and-ivy-b3318dfc19f7
Angular 应该在版本 9 中完全切换到 Ivy。届时您可能会找到更多关于使用 Ivy 和自定义 webpack 配置的文档。
在那之前我会建议以下之一:
- 在 Angular Builders repository and ask this question there. Angular builders is the go-to
ng eject
alternative 上打开一个新问题,当涉及到此类问题时,他们可能比堆栈溢出上的普通人有更多的答案。
- 在 Angular 存储库上打开一个问题并在那里提出这个问题。
Ivy 仍处于预览模式。如果您想尝试按照以下屏幕截图中的步骤操作,
官方文档中有提到,https://angular.io/guide/ivy#using-ivy-in-an-existing-project
要了解该怎么做,您必须深入研究 Angular CLI 代码,看看他们到底在哪里使用了 enableIvy
标志。
我还没有看到你的 Webpack 配置,但我猜你正在使用 AngularCompilerPlugin
。
如果是这种情况,那么您必须在 compilerOptions
中提供 enableIvy
。
有关更多详细信息,请查看 here (where the flag is defined), here (where the plugin options are defined) and here(插件的 compilerOptions
已初始化)。
插件配置可能如下所示:
... // 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
]
我不确定他们是否在其他地方使用这个标志,但这个地方是必须的,它可能会给你想要的东西。
无论如何,如果您想避免让自己头疼,我建议您坚持使用 Angular CLI。
否则你将不得不经常访问他们的代码库。
如果您使用的是 Webpack,那么很可能可以使用 Angular CLI 和 Custom Webpack Builder.
来完成您需要的操作
如果您在配置构建器时遇到困难,非常欢迎您访问 Angular Builders Slack channel.
我们想将新的 Angular 8 Ivy 编译器与 webpack 一起使用。我们不使用 Angular CLI。这可能吗?如何才能做到这一点?我似乎找不到有关此要求的信息。
Ivy 尚未正式发布。对于 Angular 的第 8 版,您可以选择使用 CLI 进行预览。
参见:https://blog.angular.io/a-plan-for-version-8-0-and-ivy-b3318dfc19f7
Angular 应该在版本 9 中完全切换到 Ivy。届时您可能会找到更多关于使用 Ivy 和自定义 webpack 配置的文档。
在那之前我会建议以下之一:
- 在 Angular Builders repository and ask this question there. Angular builders is the go-to
ng eject
alternative 上打开一个新问题,当涉及到此类问题时,他们可能比堆栈溢出上的普通人有更多的答案。 - 在 Angular 存储库上打开一个问题并在那里提出这个问题。
Ivy 仍处于预览模式。如果您想尝试按照以下屏幕截图中的步骤操作,
官方文档中有提到,https://angular.io/guide/ivy#using-ivy-in-an-existing-project
要了解该怎么做,您必须深入研究 Angular CLI 代码,看看他们到底在哪里使用了 enableIvy
标志。
我还没有看到你的 Webpack 配置,但我猜你正在使用 AngularCompilerPlugin
。
如果是这种情况,那么您必须在 compilerOptions
中提供 enableIvy
。
有关更多详细信息,请查看 here (where the flag is defined), here (where the plugin options are defined) and here(插件的 compilerOptions
已初始化)。
插件配置可能如下所示:
... // 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
]
我不确定他们是否在其他地方使用这个标志,但这个地方是必须的,它可能会给你想要的东西。
无论如何,如果您想避免让自己头疼,我建议您坚持使用 Angular CLI。
否则你将不得不经常访问他们的代码库。
如果您使用的是 Webpack,那么很可能可以使用 Angular CLI 和 Custom Webpack Builder.
来完成您需要的操作
如果您在配置构建器时遇到困难,非常欢迎您访问 Angular Builders Slack channel.