Я полагаю, что вам может не хватать некоторых основ структуры VueJS, а также того, где и / или как использовать такие функции, как аутентификация. Возможно, стоит еще раз пройти через их Введение , чтобы закрепить свои знания.
Чтобы ответить более прямо, при запуске приложения Vue JS вам нужна базовая HTML-страница (например, * 1005). *) в качестве точки входа и инициализации для вашего приложения Vue, загруженного в <script>
на этой странице.
Когда вы пишете приложение Vue JS, вы можете сделать это на чистом JavaScript, в TypeScript или вформат компонента .vue, который объединяет HTML, CSS и JavaScript, необходимые для определения компонентов. Формат .vue не запускается напрямую, его нужно сначала скомпилировать в JavaScript с помощью упаковщика, такого как WebPack, а затем загрузить его точкой входа.
App.vue
Обычно это корневой каталогвашего приложения, определенного в формате файла Vue Component. Обычно это то, что определяет шаблон для вашей страницы:
<template>
<div id="app">
<SideBar />
<router-view v-if="loaded" />
</div>
</template>
<script>
import SideBar from "./pages/SideBar";
export default {
components: { SideBar },
computed: {
loaded() {
return this.$store.state.loadState == "loaded";
}
}
};
</script>
main.js
Обычно это файл JavaScript, который инициализирует этот корневой компонент в элемент на вашей странице. Он также отвечает за настройку плагинов и сторонних компонентов, которые вы, возможно, захотите использовать в своем приложении:
import Vue from "vue";
import { store } from "./store/store";
import router from "./router";
import App from "./App.vue";
new Vue({
router,
store,
render: h => h(App)
}).$mount("#app");
index.html
Страница указателя предоставляет вашу точку входа в html, предоставляяэлемент для загрузки в VueJs и импорта main.js
для инициализации вашего приложения.
<!-- the html element that hosts the App.vue component -->
<div id="app"></div>
<!-- built files will be auto injected -->
<script type="text/javascript" src="main.js"></script>
На другом примечании достойное место для размещения вашей логики аутентификации - в маршрутизаторе , гдеВы можете добавить средства защиты навигации, чтобы ограничить доступ к страницам на основе текущего состояния аутентификации и отправить своих пользователей на страницу входа:
// GOOD
router.beforeEach((to, from, next) => {
if (!isAuthenticated) next('/login')
else next()
})