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

Weird error when running a simple vue.js app

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

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

Uncaught TypeError: _vm._m is not a function(…)

服务器没有错误(没有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>

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

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

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

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

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

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

所以,和往常一样,这是一个愚蠢的错误,我在路由定义中有错别字, 我使用 components 而不是 component:

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