问题标签 [ngtools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
84 浏览

javascript - 使用 webpack 模式“生产”时,Angular @ngtools/webpack 构建失败

我一直有这个问题,只要我设置

在我webpack.config.js已声明使用的 Angular 模板中

无法再编译。

产生的错误都与模板中使用的指令有关,例如

0 投票
1 回答
315 浏览

javascript - Webpack:TypeScript 编译中缺少。...在 AngularCompilerPlugin.getCompiledFile

10.1.0-next.4在 Web 应用程序中使用 Angular

并在构建时出错。

这是github示例应用程序。我需要更新或缺少任何配置或版本吗?

0 投票
1 回答
847 浏览

angular - @ngtools/webpack AngularWebpackPlugin 可以链接部分编译的常春藤库吗?

我有这个有点旧的 Angular Web 应用程序,它从 Angular 6 更新到 Angular 12,但是,Angular CLI 没有用于构建它,而是依赖于 Webpack 5、它的加载器和来自 @ngtools/webpack 的 AngularWebpackPlugin。

最近,我需要升级到我正在使用的库的最新版本,并且在我的生产构建后收到以下警告:

在删除最小化程序并更详细地查看错误堆栈跟踪之后,这似乎是该新库的问题,特别是。

现在,我进行了一些挖掘,发现从 Angular 11.1 开始,现在可以为 Ivy 部分编译库并以这种方式运送到 NPM,而不需要 ngcc。而且,正如预期的那样,该库的源代码表明,事实上,我使用的旧版本和我尝试使用的新版本之间的主要区别在于,新版本是部分编译的。

现在,我的应用程序的 webpack 配置如下(我只留下我认为相关的设置,如果需要我可以提供整个配置文件):

我的问题是我在这里错过了一步吗?我需要使用某个插件来“链接”部分编译的库,以便避免这个问题吗?甚至可以以这种方式使用 Webpack 编译用于生产的 Angular 应用程序吗?我尝试了很多东西,但一切都表明我在整个过程中错过了一步。此外,我使用 Angular CLI 创建了一个测试应用程序,并使用它来安装库并使用生产模式编译它,这一切都像一个魅力,所以我可以排除它是库创建者的错的想法。

应用依赖如下: