使用vue-cli3.0脚手架构建多页面项目,目前的项目结构是这样的
在vue.config.js中配置多文件入口,代码如下:
module.exports = {
baseUrl: '/',
pages:{
index: {
entry: 'src/pages/index/main.js',
template: 'public/app/index.html',
filename: 'app/index.html'
},
admin: {
entry: 'src/pages/admin/main.js',
template: 'public/admin/index.html',
filename: 'admin/admin.html'
}
}
}
现在可以通过http://localhost:8080/app/index.html和http://localhost:8080/admin/admin.html访问到相对应得页面,但是不能渲染出组件。访问的页面为空
每个页面对应的路由文件如下:
import Vue from 'vue'
import Router from 'vue-router'
// import Home from './views/Home.vue'
Vue.use(Router)
export default new Router({
mode: 'hash',
base: process.env.BASE_URL,
routes: [
{
path: '/',
name: 'home',
component: () => import('./views/Home.vue')
},
{
path: '/about',
name: 'about',
// route level code-splitting
// this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited.
component: () => import(/* webpackChunkName: "about" */ './views/About.vue')
}
]
})
你访问
/admin/admin.html
的话其实得到的是public
下面的静态文件,并不是vue注入后的。多页面的话直接访问路由中的路径就可以了。比如
about
:http://localhost:8080/about