3

このリンクに従って、 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 ファイル。 ここに画像の説明を入力

以下に示すように、私の Package.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' " />

ここに私のディレクトリ構造があります ここに画像の説明を入力

4

1 に答える 1