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