このリンクに従って、 i18n を使用して Angular でローカリゼーションを実装しています。
「url/en」または「url/fr」に移動すると、それぞれのディレクトリ フォルダーを指す代わりに、ルートを検索しようとして、以下のエラー メッセージが表示されます。
core.js:15723 ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'fr'
VS2019 を使用して、この Angular 7 プロジェクトを作成しました。バックエンドには、asp.net コア 2.2 Web API を使用しています。
次のコマンドを実行すると、正しい翻訳がローカルに表示されたページが表示されます。
ng サーブ --configuration=fr
以下に示すように、私の angular.json ファイル。
app.modules.ts でこの方法でルートを構成しました
RouterModule.forRoot([ { path:'', component:HomeComponent, canActivate:[AuthGuard] },
この方法で .csproj ファイルを変更しました。
<Target Name="PublishRunWebpack" AfterTargets="ComputeFilesToPublish">
<!-- As part of publishing, ensure the JS resources are freshly built in production mode -->
<Exec WorkingDirectory="$(SpaRoot)" Command="npm install" />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build-locale" />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build-locale:ssr" Condition=" '$(BuildServerSideRenderer)' == 'true' " />