写好的小程序组件(发布到了npm)怎么通过这种方式引入?

sai2333
  • 45

image.png
image.png
想要红框的这种引入方式来使用,但编译的时候会报错。只能使用红框下面的方式。
拿的代码地址是:uni-ui
想修改他们的组件,然后发布到自己的npm。目前npm包名是:qs-uni-ui


小弟搞不明白,为什么同样的代码,我的不能用红框的方式引入。谢谢各位大佬的解惑。

回复
阅读 2k
2 个回答

官方的也会编译出错吧,这是bug。建议按需引入,使用第二种。

第一种方式,你可以把模块导出的接口看做一个键值对 module = {uniBadge: func},引入的时候相当于解构赋值来获取 module.uniBadge。
第二种方式则相当于模块默认导出了 module = func,而在引入的时候顺便把 module 重新命名为 uniBadge。
如果你默认导出 uniBadge ,并且使 uniBadg.uniBadge = uniBadge,应该可以使用两种方式引入了,但似乎是多此一举。
export default 其实是 js 的历史债,直接应用到 ES 模块的时有坑,慎用,第一种引入方法才是正解,导出的时候 export const uniBadge = func ,或者 export { uniBadge } 就可以了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏