近日笔者从VUE 2.1更新到2.5 VUE。
我已经使用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行:
我有一个类似的问题,其中一个更新还停在我的Vue公司的应用程序没有明显的理由,并说像不确定您遇到这里。
简单的解决办法是.default
我app.js
文件注册时添加到我的所有组件的末端。
Vue.component('nav-container', require('./components/nav/nav-container.vue').default);