router自動加載組件具體詳情 router/index.js
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
let siteRoutes = [];
function importAll(r) {//r 參數(shù)自帶兩個處理屬性一個keys 一個是resolve 這里用的keys 具體看官網(wǎng)APi: context module API
r.keys().forEach((key) => {
let path = (key.split('.'))[1];//key 就是帶了./的文件名 比如我這里打印出來是./About ./Home ./Test 這樣你就懂path 和name為什么這樣寫
path.indexOf('Home') > -1 ? path = '/' : '';// home頁面會被解析為/home躬络,/ 訪問為空白,所以做個判斷path轉(zhuǎn)為 / 幻馁。
siteRoutes.push({
path: path,
name: path.substring(1),
component: () => r(key)
})
});
}
importAll(require.context('../views/', false, /\.vue$/, 'lazy'));// 第二個參數(shù)指是否使用子目錄 第四個參數(shù)是指是否異步 lazy/sync
const routes = [
...siteRoutes,
]
//importRouter(pages)
const router = new VueRouter({
mode: 'history',
base: process.env.BASE_URL,
routes
})
export default router
我的文件結(jié)構(gòu) 我是多站點(diǎn)配置 不用看我外層結(jié)構(gòu)看views文件就可以了