Angular 5:未处理的承诺拒绝:无法加载 html 文件

Angular 5: Unhandled promise rejection: Failed to load html file

我对 Angular 5 有疑问。我正在尝试 运行 我的应用程序在生产模式下使用 aot in ng serve ==> ("start": "ng serve --ssl --aot" in package.json 文件)。但是,在这种情况下,应用程序无法找到 html 文件。它在没有 aot 的情况下工作。我尝试了几种解决方案(提到 or here),例如在这些文件的 templateUrl 字段中更改文件路径(例如,绝对路径)或更改应用程序路由或添加 moduleId: module.id,但它们没有不工作。看到下面的错误:

有什么想法吗?

我在我的一个项目中遇到了类似的问题。

对我来说,问题是我 bootstrap 在另一个文件中 ping 我的应用程序(我们对用户何时可以登录有要求,我们不想加载应用程序,如果他们不能)。

它与 Angular 4 一起工作,当我们升级到 Angular 5 时出现错误。

我们有类似的东西:

const hack = false;
if (hack) {
  platformBrowserDynamic().bootstrapModule(AppModule);
}

const bootstrap = new Bootstrap(AppModule);
bootstrap.initializeBootstrap();

我们传入了我们的模块,让 bootstrap 文件完成剩下的工作。我们这样做是因为在 Angular 4 中有一个错误不允许 bootstrap 代码在另一个文件或承诺中,请参见以下内容:

https://github.com/angular/angular-cli/issues/3540

升级到 Angular 5.

后,将其更改为基于承诺似乎解决了问题
const bootstrap = new Bootstrap();
bootstrap.initializeBootstrap().then(() => {
  console.log('user is allowed to see, bootstrap the app');
  platformBrowserDynamic().bootstrapModule(AppModule);
}, (error) => {
  console.log('user is not allowed access do something here', error);
});

希望这对您有所帮助。