【发布时间】: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