未定义VueRouter

Vik*_*tor 4 vue.js laravel-5

我有一个laravel项目,想使用Vue.js作为前端。但是我从未使用过比jquery更复杂的东西。我无法运行vue-router。

在我的app.js中

require('./bootstrap');
require('./vue-router');
require('./routes');

window.Vue = require('vue');
     const app = new Vue({
     el: '#app',
});
Run Code Online (Sandbox Code Playgroud)

然后我从https://router.vuejs.org/en/installation.html复制代码vue-router

在我的routes.js中

const router = new VueRouter();

var App = Vue.extend({});

router.start(App, '#app');
Run Code Online (Sandbox Code Playgroud)

当我尝试在控制台中打开页面时,我会看到下一个:“未定义VueRouter”

sam*_*ayo 7

您必须告诉Vue首先使用方法使用VueRouter Vue.use()。因此,请执行以下操作:

import VueRouter from 'vue-router'

# add this code
Vue.use(VueRouter)

var router = new VueRouter({
  routes: [
    {path: 'home', component: homeComponent} 
  ]
})
Run Code Online (Sandbox Code Playgroud)

更新:

首先使用安装vue-router

npm install --save vue-router
Run Code Online (Sandbox Code Playgroud)

然后像这样导入和使用

import VueRouter from 'vue-router'
Run Code Online (Sandbox Code Playgroud)

然后在vue中使用它

Vue.use(VueRouter)
Run Code Online (Sandbox Code Playgroud)

然后定义您的路线:

const routes = [
 {path: '/', component: SomeComponent}
]
Run Code Online (Sandbox Code Playgroud)

然后初始化路由器并将其传递给路由

var router = new VueRouter({
  routes: routes,
  mode: 'history'
})
Run Code Online (Sandbox Code Playgroud)

将路由器传递给vuejs然后获利:)

new Vue({
  el: '#root',
  router: router
})
Run Code Online (Sandbox Code Playgroud)

  • 现在我得到了问题,请首先执行npm install --save vue,然后从您的app.js中删除“ require('packages')”(第22行)第三步:将来自packages.js的所有代码放入应用程序中.js(第22行)第四条:删除route.js中的5-8行,并将其放在app.js中(第23行之后),并在route.js中将“导出默认路由”放在第4行之后。 (2认同)