【问题标题】:Why need default after require() method in Vue?为什么在 Vue 中的 require() 方法之后需要默认值?
【发布时间】:2018-02-23 05:41:43
【问题描述】:

vue-cli生成的项目有2个。

其中一个我可以像下面的代码一样添加组件:

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

有人能告诉我为什么这样吗?

感谢您的帮助。

【问题讨论】:

    标签: vue.js


    【解决方案1】:

    使用 ES6 导入时(导出默认 HeaderBar),导出的模块格式为 {"default" : HeaderBar}。 import 语句为您处理此分配,但是,您必须自己进行 require("./mycomponent").default 转换。 HMR 接口代码不能使用导入,因为它不能内联工作。

    如果您想避免这种情况,请使用 module.exports 而不是 export default。

    【讨论】:

    • 非常感谢!另一个问题是,为什么第一个项目我可以要求没有默认属性的组件?
    • 我想这样做,但我没有足够的声誉:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-25
    • 2012-08-04
    • 1970-01-01
    • 2023-02-19
    相关资源
    最近更新 更多