問題タブ [gatsby-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 多言語ルートで 1 ページのサイトを作成する方法は?
私は使用してGatsby
おり、多言語を使用して 1 つのサイトを作成したいと考えています。これまでのところ、これpages/index.js
を含むものを定義しました:
そして私は次のように変更gatsby-node.js
しました:
各リクエストは に転送されindex.js
ますが、問題があります。gatsby-plugin-intl
次のような動的プレフィックスを URL に追加するプラグインを使用しています。http://localhost:3001/en/
にアクセスすると、URL に一致するルートがないためhttp://localhost:3001/en/
、コンポーネントが表示されます。NotFound
URL にプレフィックスを付けて、すべてを正しいコンポーネントに再ルーティングする方法はありますか?
reactjs - 単一ページのサイトに gatsby-plugin-intl を使用できません
私が使用Gatsby
していて、単一ページのサイトを構築したいので、ページを作成せずに。gatsby-node.js
これを達成するために、次のコードで編集しました。
index.js
その場合、各リクエストは、唯一のページに再ルーティングされます。次に、index.js
私が持っているページで:
ご覧のとおり、URL に基づいて特定のコンポーネントをロードするさまざまなルーターがあります。path
正しいパスに一致するように、それぞれに現在のロケールをプレフィックスとして付けました。このメカニズムは、ホームページのみで正常に機能していますが、他のリンクでは機能していません。実際、次のような場所にアクセスした場合:
コンポーネントをロードする必要があるためCollection
、サイトは単純に次の場所にリダイレクトします。
Home
コンポーネントを再度表示します。
私は何を間違えましたか?
アップデート
ページ構造:
ご覧のとおり、index.js
で構成したように、すべてのリクエストを処理する がありますgatby-node.js
。少なくともこの構成を使用して、ローカリゼーション プラグインを削除すると:
URLの前に を付けませんintl.locale
。すべて正常に動作しています。しかしredirect: true
、プラグイン構成を追加し、リンクにロケールのプレフィックスを付けると、サイトは私をホーム コンポーネントにリダイレクトします。
node.js - gatsby-starter-rocket-docs から作成されたドキュメント サイトでスタイル (配色と SVG 画像) を上書きできない
gatsby スターターgatsby-starter-rocket-docsから作成されたドキュメント サイトに取り組んでいます。サイドバーへのヘッダーとして、デフォルトとは異なる画像を使用したいと考えています。現在、イメージは、リポジトリのコード自体ではなく、ノード モジュールで定義された svg から取得されます。ノード モジュールは永続化されないため、そこで変更を行うことはできません。ノードモジュールで定義されたスタイリングをオーバーライドする必要があります (これは を介してフォルダーにインストールされますnpm install gatsby
) が、永続化されたコードからそれを行う必要があります。
これが私が置き換えようとしている画像です:
この問題については、こちらで詳しく定義されています。すべてのコードを含むリポジトリはこちらです。この問題には、サイドバーで強調表示されたリンクの色の変更についても言及されていますが、その強調表示の色はノード モジュールでも定義されているため、同様の修正が必要です。しかし、それよりも重要な問題はイメージです。