问题描述
用vue-cli 3创建了组件,发布到npm,后引用时报错:
Failed to mount component: template or render function not defined.
相关代码
hellocomp.js
export default {
name: 'HelloComp',
render(h) {
return (
<div class="h-comp">
Hello from Component
</div>
)
}
}
index.js
import HelloComp from './hellocomp.js'
HelloComp.install = function(Vue, options = {}) {
Vue.component(HelloComp.name, HelloComp)
}
if (typeof window !== 'undefined' && window.Vue) {
Vue.component(HelloComp.name, HelloComp)
}
export default HelloComp
webpack.config.js
module.exports = {
entry: './src/index.js',
...
然后npm publish,
在项目中引用Test.vue
<template>
<div>
<hello-comp />
</div>
</template>
import HelloComp from 'hello-comp'
@Component({
components: {
HelloComp
}
})
export default class Test extends Vue {
...
启动后,就在console看到如下错误
[Vue warn]: Failed to mount component: template or render function not defined.
具体是哪里出了问题吗?
如果不发布到npm,直接放在项目中,是正常的