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

时间:2017-12-20 16:04:27

标签: angular angular2-aot angular-aot

我在使用Angular 5时出现问题。我正在尝试使用ng {= 1>}中的aot在生产模式下运行我的应用程序("start": "ng serve --ssl --aot"文件中的package.json。但是,在这种情况下,应用程序找不到html文件。它可以在没有aot的情况下工作。我尝试了几种解决方案(提到herehere),例如更改这些文件中templateUrl字段中的文件路径(例如,绝对路径),或更改应用路由或添加{{1} },但它们不起作用。请参阅以下错误:

enter image description here

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我的一个项目中有类似的问题。

对我来说问题是我在不同的文件中引导我的应用程序(我们对用户何时登录或不登录有要求,如果不能,我们不想加载应用程序。)< / p>

它适用于Angular 4,当我们升级到Angular 5时,我们得到了错误。

我们有类似的东西:

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

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

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

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

Angular 4.0.0 could not find bootstrap code

在升级到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);
});

希望这会有所帮助。