【问题标题】:Typescript Vue: Failed to mount component: template or render function not definedTypescript Vue:无法安装组件:未定义模板或渲染功能
【发布时间】:2021-01-23 19:03:18
【问题描述】:

我想将打字稿添加到我的 vue 项目中的每个人现在都可以编译而没有错误,但是一旦我打开页面,控制台中就会出现一条错误消息:

vue.runtime.esm.js?2b0e:619 [Vue warn]: Failed to mount component: template or render function not defined.

found in

---> <App> at src/App.vue
       <Root>

这是我的main.ts

import Vue from 'vue'
import App from './App.vue'
import router from './router/router'
import store from './store/store'

// @ts-ignore
import VueFormulate from '@braid/vue-formulate'

import api from './api/api'

import './assets/scss/app.scss'

import './registerServiceWorker.ts'

Vue.config.productionTip = false
// @ts-ignore
Vue.$api = api;
Object.defineProperty(Vue.prototype, '$api', {
    get() {
        return api
    }
})

Vue.use(VueFormulate)

new Vue({
    router,
    store,
    render: h => h(App)
}).$mount('#app')

这是我的App.vue 是的,vue-class-components 已安装

<template>
    <div class="container-fluid container-lg container-xl" id="app">
        <router-view></router-view>
    </div>
</template>

<script lang="ts">

import Component from "vue-class-component";
import Vue from "vue";

@Component
export default class App extends Vue{
    created(){
        console.log("foo");
    }
}

</script>

我实际上是直接从文档中复制了组件的结构,所以我假设我的错误一定在我的main.ts 中的某个地方。另请注意,它是一个 vue2 项目,所以 vue3 没有问题。

【问题讨论】:

    标签: typescript vue.js


    【解决方案1】:

    事实上,显示的配置并没有错。我重新创建了一个最小的工作示例,复制了完全相同的文件,但仍然无法正常工作。

    工具链中的某个地方配置错误,我用 vue cli 重新安装了项目,将原始文件复制回来,一切正常。

    【讨论】:

      猜你喜欢
      • 2019-02-27
      • 2018-10-29
      • 2018-01-10
      • 2018-11-07
      • 2018-06-14
      • 1970-01-01
      • 2018-03-19
      • 2018-07-02
      • 2019-12-05
      相关资源
      最近更新 更多