1

我直接在 angular-app 中使用@ngtools/webpack(没有 angular-cli),我得到了意想不到的行为。Aot 插件构建项目中的所有 ts 文件,但某些文件不是由入口点文件 (main.ts) 导入的。例如 - ts-loader 仅构建在入口点文件 (main.ts) 中通过导入找到的文件。这是错误还是功能?

我创建了 mini-repo:https ://github.com/alxpsr/ngtools-unexpected 运行 npm run build:aot 并且出现错误。但是如果你运行 npm run build:tsloader - 构建不会有错误。

如果这不是错误,请告诉我这两个版本之间有什么区别?

PS我知道tsconfig.json中的文件和包含选项,我可以在那里更清楚地指定文件。我想了解这两个版本之间的区别。^_^

4

1 回答 1

0

两种构建方式不同。使用 AOT 构建时,代码使用 Angular 编译器进行编译。它在部署之前编译所有代码,因此客户端浏览器不必做太多工作。例如,如果您在 HTML 中调用了一个函数,但没有在组件中定义该函数,那么 Angular 编译器会在构建应用程序本身时给您错误。

另一方面,当您使用 tsloader 构建时,构建成功,但是当您遇到此类错误时,应用程序会在运行时中断。

于 2018-11-10T15:25:59.067 回答