検索

ホームページ  >  に質問  >  本文

Nuxt.js: ルーティング設定を自動生成できない

<p>静的ルート (<code>/contact</code>、<code>/about</code>,...) と動的ルート (<code>/project /1<) を生成したいと考えています。 /code>、<code>/project/2</code>、...) なので、ユーザーがこれらのルートのいずれかにアクセスしているときにページを更新しても、ページは引き続き正しく動作します。 </p> <p>しかし、<code>npm run generated</code> を実行すると、<code>/dist</code> にある <code>生成されたルート "/"</code> のみが取得されます。生成されたルートはフォルダーには表示されません。 </p> <p>使用した Nuxt.js バージョン: <code>2.14.7</code></p> <p><code>universal</code> と <code>spa</code> の両方のモードを試しましたが、どちらも機能しませんでした。 </p> <p>nuxt.config.js ファイルの先頭に次のコードを追加しました。</p> <pre class="brush:js;toolbar:false;">const axios = require('axios') const DynamicRoutes = async () => { const Routes = await axios.get('http://my-project.com/wp/wp-json/projects/v1/posts') .then(res => res.data.map((project) => `/project/${project.ID}/${project.post_name}`)) .then(res => res.concat( [ '/について'、 '/接触'、 '/ポートフォリオ' 】 )) 復路 } </pre> <p>次に、<code>export デフォルトの {}</code>: </p> <pre class="brush:js;toolbar:false;">生成: { ルート: 動的ルート }、 </pre> <p><br /></p>
P粉404539732P粉404539732448日前491

全員に返信(2)返信します

  • P粉904405941

    P粉9044059412023-08-26 12:02:31

    まず第一に、構成に mode: 'universal' を追加する必要はありません。構成を簡素化するために、target: 'static' を追加するだけです。詳細については、https://nuxtjs.org/docs/2.x/features/deployment-targets/ をご覧ください。 ssr: true を使用すると、https://stackoverflow.com/a/65208463/8153537 で説明されているように、関連するフックを備えた完全に静的モードの Web サイトが取得されます。

    次に、@nuxt/router モジュールを削除できます。私の要点をチェックしてください - https://gist.github.com/MexsonFernandes/d04495c86b115bbe29f26b36b0b35d2d。 Nuxt はフォルダー構造に基づいて必要なルートをすべて生成するため、追加の構成は必要ありません。

    プロジェクト ページのルーティングについては、この要点を確認してください - https://gist.github.com/MexsonFernandes/d04495c86b115bbe29f26b36b0b35d2d#gistcomment-3555332

    返事
    0
  • P粉752826008

    P粉7528260082023-08-26 00:46:34

    router.mode='hash' は、generate.routes 構成と互換性がないようです。 router.modehash に設定されている場合、Nuxt ジェネレーターは generate.routes を無視し、 / のルートのみを作成します。これは次のとおりです。おそらく、ホームページは hash モードでのみ存在すると想定されているためです (つまり、index.html には、アプリケーションのすべてのルートを処理するルートが設定されています)。

    このハッシュ モードは、router.js で設定されたモードとも競合しますが、本当にハッシュ ルーティングが必要な場合は、router.js## でのみ選択する必要があります # これを設定します# で generate.routes の処理を​​許可します。

    また、

    mode='universal'ssr=true と同等であるため、この構成では ssr=false は使用できないことにも注意してください。モードの重要性。静的サイトを生成する場合は、asyncData() および fetch() フックを呼び出して静的ページ データを設定できるように、ssr=true が必要です。この設定により、dynamicRoutes() /about/contact、および /portfolio を追加する必要がなくなります。 # これらは生成されたルートにすでに含まれているためです。

    GitHub PR

    返事
    0
  • キャンセル返事