在执行npm run dev 时出现错误:_vueRouter2.default is not a constructor

在执行npm run dev时出现_vueRouter2.default is not a constructor

Uncaught TypeError: _vueRouter2.default is not a constructor
    at Object.eval (eval at <anonymous> (build.js:1195), <anonymous>:64:14)
    at eval (eval at <anonymous> (build.js:1195), <anonymous>:93:30)
    at Object.<anonymous> (build.js:1195)
    at __webpack_require__ (build.js:654)
    at fn (build.js:84)
    at Object.<anonymous> (build.js:1989)
    at __webpack_require__ (build.js:654)
    at build.js:701
    at build.js:704

请问各位大神这会是什么原因呢?

阅读 8.4k
5 个回答

我的问题已经解决了,你看一下你的是不是也是这个原因。
在webpack配置文件webpack.config.js文件中,config={}里面有一个参数是resolve:

resolve: {
      alias: {
          'vue$': 'vue/dist/vue.js'
      }
  },

这里缺少vue-router,加进去即可。

resolve: {
      alias: {
          'vue$': 'vue/dist/vue.js',
          'vue-router$': 'vue-router/dist/vue-router.common.js'
      }
  },

是不是少了一句vue.use(Resource)

import Vue from 'vue'
import App from './App.vue'
import VueRouter from "vue-router";
import VueResource from 'vue-resource'
import Element from 'element-ui'
import 'element-ui/lib/theme-default/index.css'
Vue.use(Element)

//开启debug模式
Vue.config.debug = true;

Vue.use(VueRouter);
Vue.use(VueResource);

//引入css
require('./assets/css/base.css');
require('./assets/css/index.css');

import index from './component/index.vue'
import loginVal from './component/login.vue'
import listVal from './component/list.vue'
import Center from './component/center.vue'
import destDetails from './component/destDetails.vue'

// 创建一个路由器实例
// 并且配置路由规则
const router = new VueRouter({
  mode: 'history',
  base: __dirname,
  routes: [
    {
      path: '/',
      component: index
    },
    {
      path: '/login',
      component: loginVal
    },
    {
      path: '/list',
      component: listVal,
      children:[
        {
          path:'detail',
          name:'destdetail',
          component:destDetails
        }
      ]
    },
    {
      path: '/center',
      component: Center
    }
  ]
})

练习用的,router页的代码

新手上路,请多包涵

答案是在gulpfile.js中
require('laravel-elixir-vue');
修改为
require('laravel-elixir-vue-2');

请问楼主解决了吗?我也出现这个问题了~~~

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