从vue 2.1更新到2.5后,vue停止工作

时间:2017-12-29 14:22:12

标签: vue.js vuejs2 vue-cli

我最近从第2.1节更新到第2.5节。

我使用vue-cli创建项目,然后将之前的2.1项目组件移动到src文件夹。

之后我开始收到错误:

Uncaught TypeError: Cannot read property 'components' of undefined
at checkComponents (vue.esm.js?e1b2:1321)
at mergeOptions (vue.esm.js?e1b2:1442)
at mergeOptions (vue.esm.js?e1b2:1458)
at Vue$3.Vue._init (vue.esm.js?e1b2:4528)
at new Vue$3 (vue.esm.js?e1b2:4646)
at eval (main.js?3479:41)
at Object../src/main.js (app.js:5655)
at __webpack_require__ (app.js:679)
at fn (app.js:89)
at Object.0 (app.js:5928)

我的main.js如下:

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import { store } from './store'
import mixins from './mixins'
import VueRouter from 'vue-router'
import routes from './routes'


const router = new VueRouter({
  routes: routes.routes
  // mode: 'history'
})

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  render: h => h(App),
  store: store,
  mixins: [mixins]
})

这是请求的App.vue文件:

<template>
  <div id="app">
  <el-container>
    <navbar v-if="loggedIn"></navbar>
    <el-aside style="width:auto; z-index:9999; ">
      <sidebar v-if="loggedIn"></sidebar>
    </el-aside>
    <el-main style="width:auto;">
      <router-view></router-view>
    </el-main>
  </el-container>
  </div>
</template>
<script>
  import Sidebar from './page_components/Sidebar'
  import Navbar from './page_components/Navbar'
  export default {
  components: {
    Sidebar,
    Navbar
  }
}

我在vue.esm.js中的以下行中收到错误:

Error

1 个答案:

答案 0 :(得分:1)

我有一个类似的问题,即更新也没有明显原因也停止了我的Vue应用程序,并且说的是不确定的,就像您在这里遇到的一样。

简单的解决方案是在我的.default文件中注册时,将app.js添加到所有组件的末尾。

Vue.component('nav-container', require('./components/nav/nav-container.vue').default);