#vue.js #nuxt.js
#vue.js #nuxt.js
Вопрос:
Все, что я вижу в /dist
папке при выполнении npm run generate
, — это один 200.html
и _nuxt
папка с кучей других файлов: нет index.html
и нет /about
папки для моего about
маршрута.
Так Nuxt
что мои статические маршруты не генерируются, и приложение не работает.
Чего мне здесь не хватает?
router.js
:
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export function createRouter () {
return new Router({
mode: 'history',
routes: [
{
path: '/',
component: () => import(/* webpackChunkName: "index" */ '~/pages/index.vue').then(m => m.default || m)
},
{
path: '/about',
component: () => import(/* webpackChunkName: "about" */ '~/pages/about.vue').then(m => m.default || m)
}
]
})
}
nuxt.config.js
:
export default {
target: 'static',
ssr: true,
components: true,
...
}
РЕДАКТИРОВАТЬ: если я удаляю router.js
, следовательно, разрешаю Nuxt.js
выполнять автоматическую маршрутизацию, тогда мои статические маршруты генерируются, я только что обнаружил. Почему он терпит неудачу при наличии router.js
?
Комментарии:
1. Какова ваша версия nuxt? Это должно быть сделано автоматически благодаря сканеру. nuxtjs.org/blog/going-full-static/#crawler-integrated
2. Да, именно это должно быть сделано автоматически. Моя версия Nuxt:
2.15.2
.3. Я думаю, что статические файлы и папки не работают с ssr = true, попробуйте использовать ssr = false .
4. @4ern спасибо, результат тот же.
5. @4ern это совершенно не связано. Кстати, искатель был нацелен на статическую генерацию, поэтому он должен быть на 100% с SSR, установленным в true.
Ответ №1:
Как объясняется в документах здесь: https://nuxtjs.org/docs/2.x/features/file-system-routing#extending-the-router
Если вы передадите router.js
файл в свой Nuxt, он перезапишет вашу конфигурацию из-за @nuxtjs/router
модуля. Вам нужно выбрать между 2.
Я бы все же рекомендовал использовать способ Nuxt и обрабатывать его с вашими файлами / папками, и пусть сканер выполняет свою работу.
В противном случае вы могли бы использовать keepDefaultRouter
опцию модуля маршрутизатора.
Для моего использования router-extras-module достаточно хорош с точки зрения функций: если вы хотите создать несколько псевдонимов или переименований. Я действительно рекомендую это!