javascript - 无法让 vue-router 与 webpack 一起工作

标签 javascript laravel vue.js laravel-elixir vue-router

我试图让 vue-router 工作但没有成功,一段时间后我很生气,因为我没有看到任何问题。

我在 Laravel 中通过 Elixir 使用 webpack,它有这样的 gulpfile:

const elixir = require('laravel-elixir');

require('laravel-elixir-vue');

elixir(mix => {
mix.sass('app.scss')
   .webpack('app.js');
});

在我的 app.js 文件中,我正在“编译”以下代码

window.Vue = require('vue');

var VueResource = require('vue-resource');
var VueRouter = require('vue-router');

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

当我在浏览器控制台调用

new VueRouter({})

我收到一条错误消息,说 VueRouter 未定义。为什么? vue-resource 甚至在 app.js 中。

我的 package.json 看起来像这样:

{
  "private": true,
  "scripts": {
    "prod": "gulp --production",
    "dev": "gulp watch"
  },
  "devDependencies": {
    "bootstrap-sass": "^3.3.7",
    "foundation-sites": "^6.2.3",
    "gulp": "^3.9.1",
    "jquery": "^2.2.4",
    "laravel-elixir": "^6.0.0-9",
    "laravel-elixir-vue": "^0.1.4",
    "laravel-elixir-webpack-official": "^1.0.2",
    "lodash": "^4.14.0",
    "script-loader": "^0.7.0",
    "vue": "^2.0.1",
    "vue-resource": "^0.9.3",
    "vue-router": "^2.0.0"
  }
}

有人能帮忙吗?

最佳答案

没关系,因为您没有像使用 window.Vue = require('vue');

那样将 VueRouter 绑定(bind)到 window 对象

但通常你不需要窗口中的路由器 在你的 app.js 中做:

window.Vue = require('vue');

var VueRouter = require('vue-router');
window.Vue.use(VueRouter);

var router = new VueRouter({
  routes: {
    {path: '', component: require('./components/MyComponent.vue')},
    {path: '/dash', component: require('./components/Dash.vue')},
  }
});

var AppComponent = require('./components/App.vue');

/* eslint-disable no-new */
var app = new Vue({
  el: '#app',
  router,
  render: h => h(AppComponent),
});

关于javascript - 无法让 vue-router 与 webpack 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39978320/

相关文章:

javascript - IE8 的 WYSIHTML5 字符计数器

laravel - Composer 要求可以找到包

php - 通过查询参数过滤路由的更好方法?

javascript - 不能在 Vuex Mutation 中使用解构赋值

javascript - 如何将在 javascript 中创建的数组传递给另一个 jsp,然后在该 jsp 的 java 函数中使用该数组?

javascript - Bootstrap 中两列表单之间不需要的空间

laravel - 如何定义模式迁移 Laravel Postgres?

webpack - 在每个带有自己变量的 Vue 组件中使用 CSS 框架

css - Laravel & Vue 警告问题

用于切换屏幕的 JavaScript 库