Angular 7 SyntaxError:预期表达式,当basehref从根目录更改时,在生产中得到'<

时间:2019-03-04 15:43:20

标签: angular angular7

每当我通过ng build --prod --base-href /v2/将basehref更改为“ / v2 /”(或“ /”以外的任何其他值)时,都会出现以下错误:

Angular 7 SyntaxError:预期的表达式,得到了'<'

2 个答案:

答案 0 :(得分:1)

这太过分了:

ng build --aot --prod

因为prod总是执行aot,所以不需要参数,请使用:

ng build --prod --base-href

来源:https://angular.io/guide/deployment

代替

然后确保不丢失资产,我添加了一个文件夹src / app / v2 / assets / images并更新了CSS以引用新路径和angular.json

"assets": ["src/favicon.ico","src/v2/assets"]

答案 1 :(得分:0)

我也已经注意到此行为是从v6-> v7迁移的。 如果您使用的是路由,请尝试按以下方式使用通配符路由(**)

{
    path: '', component: DashboardComponent, children: [
      { path: 'comp1', component: FirstComponent },
      { path: 'comp2', component: SecondComponent },
      { path: 'comp3', component: ThirdComponent },
      { path: '**', redirectTo: '/comp1', pathMatch: 'full'}
    ]
}

在v6中,它也能正常工作,但在v7中却没有。

{ path: '**', redirectTo: 'comp1', pathMatch: 'full'}

长话短说,如果您在路由路径的末尾添加它,它应该可以工作

{ path: '**', redirectTo: '/', pathMatch: 'full'}