Есть простейший
vue проект с такой структурой (
по аналогии с проектом realworld-vue):
_______________________________________
src ¬
....
assets
....
components ¬
............................
Home.vue
............................
Map.vue
....
router ¬
.................
index.js
....
App.vue
....
main.js
_______________________________________
Содержимое
router/index.js:
import Vue from 'vue';
import Router from 'vue-router';
Vue.use(Router);
const routes = [
{
path: '/',
name: 'home',
title: 'Home',
component: Home
},
{
path: '/',
name: 'map',
title: 'Map',
component: Map
},
{
path: '*',
redirect: { name: 'home' },
},
];
export default new Router({
routes,
});
Содержимое
components/Home.vue (аналогично и для
Map.vue):
<template>
<div id="Home">
Home
</div>
</template>
<script>
export default {
name: 'Home'
};
</script>
<style scoped>
</style>
Содержимое
App.vue:
<template>
<div id="app">
<h1>Hello World!</h1>
<!-- <real-world-home />-->
<router-view></router-view>
</div>
</template>
<script>
import Home from './components/Home';
export default {
name: 'app',
components: { Home }
}
</script>
<style lang="scss">
</style>
Содержимое
main.js:
import Vue from 'vue';
import App from './App';
import router from './router';
new Vue({
el: '#app',
router,
template: '<App/>',
components: { App },
store,
render: h => h(App)
});
Запускаю webpack, ошибок нет, но и на экране ничего нет. Сборщик настроен, роутер тоже.
Но в панели разработчиков есть только
<div id="app"></div>
и ошибка:
Uncaught ReferenceError: Home is not defined
Вопрос: Как правильно подключить все компонетны в vue проекте? ...
Какая правильная последовательность подключения файлов, импорт, структура проекта?
И правильно ли я понимаю что в router подключаются все файлы компонентов?