vue2: template or render function not defined(试过很多办法了)

插件在vue2.3.3是正常的,切换到2.4.2就报这个错误,试过很多办法,始终不知道怎么解决,希望大牛搭救。
加载插件的时候报错:
图片描述

错误的情况如下:
图片描述

正确的结果:
图片描述

插件的代码:

// index.js
import Vue from 'vue'
let Preview = Vue.extend(require('./vue_preview.vue'))
let myPreview = {
  install: function (vue) {
    // Vue.component('cPreview', vuePreview)
    let instance
    if (!this.elm) {
      this.elm = new Preview()
      instance = this.elm.$mount()
      document.body.appendChild(instance.$el) // 这里没有正确的插入dom
    }
  }
}

export default myPreview
// vue_preview.vue
<template>
  <div>123456</div>
</template>
阅读 13.6k
6 个回答

试试

let Preview = Vue.extend(require('./vue_preview.vue').default)

补充一下,我猜是vue-loader升级到了13.0导致的
vue-loader13.0有一个变更就是默认启用了esModule
相关信息可参考这里

看上去没有问题啊 https://jsfiddle.net/KingMari...,Vue 也是 2.4.2 版的

直接使用 .vue 单文件组件也没问题

版本:
version

.vue 文件:
preview.vue

main.js 部分代码
main.js

结果
result

你可以检查一下,Vue 升级之后没有同时升级 vue-template-compiler

新手上路,请多包涵

想知道解决了吗,现在和你遇到了同样的问题

新手上路,请多包涵

想知道解决了吗,现在和你遇到了同样的问题

想知道解决了吗,现在和你遇到了同样的问题

新手上路,请多包涵

我也遇到这种问题,请问现在解决了吗?

推荐问题
宣传栏