运行简单的vue.js应用程序时出现奇怪的错误

时间:2016-11-17 21:33:24

标签: webpack vue.js vue-router

我正在使用vue.js 2.x并使用webpack设置一个简单的应用程序。

当我在开发模式下启动应用程序时,我在Chrome控制台中收到此错误,并且页面上没有显示任何内容:

  

未捕获的TypeError:_vm._m不是函数(...)

服务器上没有错误(没有webpack错误)。

Routes.js

import Home from './components/Home.vue';
import Portfolio from './components/portfolio/Portfolio.vue';
import Stocks from './components/stocks/Stocks.vue';

export const routes = [{
    path: '/',
    components: Home
}, {
    path: '/portfolio',
    components: Portfolio
}, {
    path: '/stocks',
    components: Stocks
}]

main.js

import Vue from 'vue'
import VueRouter from 'vue-router'
import App from './App.vue'
import { routes } from './routes'

Vue.use(VueRouter);

const router = new VueRouter({
  mode: 'history',
  routes
});

new Vue({
  el: '#app',
  router,
  render: h => h(App)
})

App.vue

<template>
    <div class="container">
        <router-view></router-view>
    </div>
</template>
<script>

    export default {

    }
</script>
<style>

</style>

Home.vue

<template>
    <h1>The home component</h1>
</template>

知道造成它的原因是什么?

2 个答案:

答案 0 :(得分:0)

在测试时,我可能不会尝试在您的Vue实例上使用render

您应该有一个像index.html这样的根文件,它会为您的应用创建一个容器并调用App组件:

#index.html
<div id="my-vue-app">
    <app></app>
</div>

然后编辑main.js,用以下内容替换初始化Vue实例的方式:

new Vue({
  components: {
    App
  },
  router
}).$mount('#my-vue-app')

答案 1 :(得分:0)

所以,像往常一样,这是一个愚蠢的错误,我在路线定义中有一个错字, 我使用components代替component

export const routes = [{
    path: '/',
   //should be component
    components: Home
}