ycs*_*hao 2 javascript angular
我有以下代码
@NgModule({
declarations: [
...
],
imports: [
RoutingModule,
SharedModule,
JwtModule.forRoot({
config: {
headerName: 'Authorization',
tokenGetter: () => localStorage.getItem('token’), // <———— this line has problem
whitelistedDomains: ['localhost:4200']
//blacklistedRoutes: ['localhost:3001/auth/', 'foo.com/bar/']
}
})
],
...
})
export class AppModule { }Run Code Online (Sandbox Code Playgroud)
它可以使用ng serve,但运行时出现以下错误ng build --prod
ERROR in Error during template compile of 'AppModule'
Function expressions are not supported in decorators in '?0'
'?0' contains the error at app/app.module.ts(36,22)
Consider changing the function expression into an exported function.
Run Code Online (Sandbox Code Playgroud)
然后我将代码修改为
ERROR in Error during template compile of 'AppModule'
Function expressions are not supported in decorators in '?0'
'?0' contains the error at app/app.module.ts(36,22)
Consider changing the function expression into an exported function.
Run Code Online (Sandbox Code Playgroud)
而且还是不开心
ERROR in app/app.module.ts(19,10): Error during template compile of
'AppModule'
Reference to a non-exported function.
Run Code Online (Sandbox Code Playgroud)
最后,我通过导出getToken功能解决了该问题。
我有以下问题
ng serve可行却不可行ng build --prod?您遇到的问题归因于Angular中的Ahead-of-Time(AOT)编译器。默认情况下,ng serve并ng build用刚刚实时(JIT)编译器。但是,ng build --prod使用AOT编译器。您可以模拟同样的行为ng serve --aot。
所以,对你的问题。
希望这可以帮助!