我将项目迁移到 Angular 8 后,构建过程出现了奇怪的错误:
ERROR in HostResourceLoader: loader(C:/myapp/cli/src/app/pages/user-home/user-home.component.html) returned a Promise
i 「wdm」: Failed to compile.
但是当我保存任何文件后,重新编译后应用程序会构建成功:
i 「wdm」: Compiling...
i 「wdm」: Compiled successfully.
首先,在Angular编译器资源加载器中的特定行,它未能加载指定的模板文件templateUrl,以下是该行代码:https://github.com/angular/angular/blob/master/packages/compiler-cli/src/ngtsc/resource_loader.ts#L111。目前仍不清楚模板URL与返回的promise错误有何关联。
可能是资源加载器中的某个错误,因为实时重新编译可以正常运行,但初始构建失败。
更新:
通过ng update
命令从Angular 7迁移过来,所以更改很少。
我正在使用webpack 4,它可以很好地与Angular 7一起使用,但可能需要更改一些webpack选项。
从错误描述中不清楚错误的根本原因。查看编译器源代码没有找到任何线索。
尝试使用通过 'templateUrl' 使用某些标记模板从7迁移到8的纯净(无webpack)Angular重现它。