vue-cli3.0多页面访问,无法加载组件

使用vue-cli3.0脚手架构建多页面项目,目前的项目结构是这样的

clipboard.png

在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访问到相对应得页面,但是不能渲染出组件。访问的页面为空

clipboard.png

每个页面对应的路由文件如下:

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')
    }
  ]
})
阅读 4.9k
2 个回答

你访问/admin/admin.html的话其实得到的是public下面的静态文件,并不是vue注入后的。
多页面的话直接访问路由中的路径就可以了。比如abouthttp://localhost:8080/about

楼主的配置文件里是否在函数(chainWebpack)里进行了分块操作(config.splitChunks)?
我也碰到这个问题了, 是因为 pages[*].chunks 没配置, 所以很多文件都没注入到 html 里面

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题