手边有两个项目,都是通过vue-cli生成的项目。
其中一个项目可以直接用这样的代码注册组件:
Vue.component('HeaderBar',require("./components/common/HeaderBar.vue"));
可是另外一个项目却需要这样注册组件:
Vue.component('HeaderBar',require("./components/common/HeaderBar.vue").default);
否则的话就会报错说:
Failed to mount component: template or render function not defined
请问这是怎么一回事呢?
其他答案都说了原因。
我说说用
webpack
打包esm
成可直接引入的配置吧。之前打包
export default
导出的包都会成为webpack3多了一个配置
会将
default
中内容打包