Nuxt.js : Impossible de générer automatiquement la configuration de routage
P粉404539732
P粉404539732 2023-08-25 13:31:01
0
2
434

Je souhaite générer des itinéraires statiques (/contact, /about,...) et des itinéraires dynamiques (/project /1< /code>, /project/2, ...) afin que lorsque l'utilisateur actualise la page en accédant à l'une de ces routes, la page fonctionne toujours correctement.

Mais lors de l'exécution de npm run generate, je n'obtiens que la route générée "/", dans /dist les itinéraires générés ne sont pas visibles dans le dossier.

Version Nuxt.js utilisée : 2.14.7

J'ai essayé les deux modes, universal et spa, aucun n'a fonctionné.

Dans le fichier nuxt.config.js, j'ai ajouté le code suivant en haut :

const axios = require('axios') const DynamicRoutes = async () => const routes = attendre 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( [ '/à propos de', '/contact', '/portefeuille' ] )) itinéraires de retour } ≪/pré> 

Puis dans export default {} :

générer : { itinéraires : itinéraires dynamiques }, ≪/pré> 


P粉404539732
P粉404539732

répondre à tous (2)
P粉904405941

Tout d'abord, vous n'avez pas besoin d'ajoutermode: 'universal',只需添加target: 'static'以简化配置。了解更多信息 -https://nuxtjs.org/docs/2.x/features/deployment-targets/。使用ssr: truedans la configuration, vous obtiendrez un site Web en mode complètement statique avec des hooks pertinents comme décrit danshttps://stackoverflow.com/a/65208463/8153537.

Ensuite, vous pouvez supprimer le module @nuxt/router. Découvrez mon résumé -https://gist.github.com/MexsonFernandes/d04495c86b115bbe29f26b36b0b35d2d. Nuxt génère toutes les routes requises en fonction de la structure des dossiers, aucune configuration supplémentaire n'est donc requise.

Consultez cet aperçu du routage des pages du projet -https://gist.github.com/MexsonFernandes/d04495c86b115bbe29f26b36b0b35d2d#gistcomment -3555332.

    P粉752826008

    router.mode='hash'似乎与generate.routes配置不兼容。当router.mode设置为hash时,Nuxt 生成器会忽略generate.routes,只创建一个用于/的路由,这可能是因为只期望在hash模式下存在首页(即index.htmlmet en place une route qui gère tout le routage pour l'application).

    Ce mode de hachage est également en conflit avec le modedéfini dansrouter.js, mais si vous avez vraiment besoin d'un routage de hachage, vous devez choisir de simplement le définir dansrouter.jsrouter.js中设置它,以允许处理generate.routespour permettre le traitement degenerate.routes

    .

    mode='universal'等同于ssr=true,所以ssr=false 的配置在这种模式下没有意义。如果生成静态站点,你需要ssr=true,这样可以调用任何asyncData()fetch()钩子来填充静态页面数据。这个设置还消除了在dynamicRoutes()中添加/about/contact/portfolio的需要Notez également quemode='universal'est équivalent àssr=true

    , donc ssr=false configuration

    n'a aucune signification dans ce mode. Si vous générez un site statique, vous avez besoin dessr=truepour que l'un des hooksasyncData()

    et fetch() puisse être appelé pour remplir les données de la page statique. Ce paramètre élimine également le besoin de DynamicRoutes () L'ajout de/about,/contact et/portfolio est requis car ils sont déjà inclus dans l'itinéraire généré. RP GitHub
      Derniers téléchargements
      Plus>
      effets Web
      Code source du site Web
      Matériel du site Web
      Modèle frontal
      À propos de nous Clause de non-responsabilité Sitemap
      Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!