Мне нужно запустить маршрутизатор Vue в режиме по умолчанию (он же, режим хэша, он не может запустить его в режиме history
). В этом режиме все мои динамические маршруты содержат ведущие, например http://myurl.com/#/highlights
. Однако, если вы удалите этот ведущий хеш, например (http://myurl.com/highlights
), сайт сломается (выдает ошибку no input file specified
).
Моя цель - убедиться, что ни одно из соответствующих условий маршрутизации не выполнено, и пользователь не аутентифицирован, что пользователь перенаправлен на экран входа в систему, и если они аутентифицированы, но не найдено ни одного маршрута, ониперенаправлены на домашнюю страницу.
Вот мой router.js
:
import Vue from 'vue'
import Router from 'vue-router'
import Home from './views/Home.vue'
import Programs from './views/Programs.vue'
import Sizzle from './views/Sizzle.vue'
import Login from './views/Login.vue'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
redirect: {
name: "login"
}
},
{
path: "/login",
name: "login",
component: Login,
},
{
path: '/highlights/:slug?',
name: 'home',
component: Home,
props: (route) => ({ slug: route.params.slug || categories[0].slug })
},
{
path: '*',
redirect: {
name: "login"
}
}
]
})
* Обратите внимание, что categories
- это переменная javascript, которую я создаю глобально с помощью тега script перед любым Vue.jsфайлы загружены.