#angular #angular7
#angular #angular7
Вопрос:
Всякий раз, когда я меняю базовую ссылку на «/ v2 /» (или любое другое значение, отличное от «/») через ng build --prod --base-href /v2/
, я получаю следующую ошибку:
Ошибка синтаксиса Angular 7: ожидаемое выражение, полученное ‘<‘
Комментарии:
1. можете ли вы добавить больше деталей, таких как трассировка стека? также
--base-href
должна быть ваша фактическая базовая ссылка. в вашем случае/v2/
2. Где я могу найти журналы / stacktrace? Я обновил, чтобы добавить точную строку.
3. Вы действительно решили это?
4. пожалуйста, выберите лучший ответ
Ответ №1:
это перебор:
ng build --aot --prod
поскольку prod всегда выполняет aot, так что этот параметр не нужен, пожалуйста, используйте:
ng build --prod --base-href
Источник: https://angular.io/guide/deployment
Также < базовый href=»/v2″> вместо <базовый href=»/v2/»>
Затем, чтобы убедиться, что ресурсы не потеряны, я добавил папку src /app / v2 /assets / images и обновил css, чтобы ссылаться на новый путь и angular.json
"assets": ["src/favicon.ico","src/v2/assets"]
Комментарии:
1. это работает в среде разработки ng serve.
ng build --prod --base-href
это не меняет результатов.2. Я предполагаю, что это приведет к сбою в NG SERVE —AOT
3. также <базовый href=»/v2″> вместо <базовый href=»/v2/»>
4. Ошибка устранена, но все ресурсы, включая css, main *.js, runtime *.js, не имеют / v2/main *.js в своем местоположении
5. Да, у меня была та же проблема, я добавил папку src/app/v2/assets/images и обновил css, чтобы ссылаться на новый путь и angular.json «assets»: [«src/favicon.ico»,»src/v2/assets»]
Ответ №2:
Я тоже заметил это поведение при переходе с версии 6 -> версии 7. Если вы используете маршрутизацию, попробуйте использовать свой маршрут с подстановочным знаком (**) в качестве этого
{
path: '', component: DashboardComponent, children: [
{ path: 'comp1', component: FirstComponent },
{ path: 'comp2', component: SecondComponent },
{ path: 'comp3', component: ThirdComponent },
{ path: '**', redirectTo: '/comp1', pathMatch: 'full'}
]
}
В версии 6 это также работало, но не в версии 7
{ path: '**', redirectTo: 'comp1', pathMatch: 'full'}
Короче говоря, если вы добавите это в конец ваших путей маршрутизации, это должно сработать
{ path: '**', redirectTo: '/', pathMatch: 'full'}