每当我通过ng build --prod --base-href /v2/
将basehref更改为“ / v2 /”(或“ /”以外的任何其他值)时,都会出现以下错误:
Angular 7 SyntaxError:预期的表达式,得到了'<'
答案 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'}