fidermo
fidermo
  • 发布:2022-02-24 11:31
  • 更新:2022-02-24 12:15
  • 阅读:653

vue3+vite打包全局组件时引用出错

分类:uni-app

除微信外的其他小程序都有这个问题。产出的百度,支付宝,快手,头条小程序都会复现。
在main.ts中定义了全局组件,例如全局的 navigationBar.vue

// main.ts  
import navigationBar from '@/components/navigationBar.vue'  

app.component('navigation-bar', navigationBar)

产出包的根目录下多出 node-modules 。
dist/build/mp-baidu/node-modules/@dcloudio/uni-components/lib/navigation-bar

并且navigation-bar.swan 内容为

<view style="display: none;"/>

在页面中不通过import 和 component 注册,直接使用组件时,如 pages/index/index.json 中,则会有具体引用覆盖全局组件

{  
  "component": true,  
  "navigationStyle": "custom",  
  "usingComponents": {  
    "navigat-bar": "../../components/navigat-bar",  
    "navigation-bar": "../../node-modules/@dcloudio/uni-components/lib/navigation-bar/navigation-bar"  
  }  
}

导致全局组件不可用。

在pages.json中关闭了 easycom的自动扫描依然有此问题。

    "easycom": {  
        "autscan": false  
    }
2022-02-24 11:31 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

navigation-bar 是保留组件,重命名成其他的
https://uniapp.dcloud.net.cn/component/navigation-bar

  • fidermo (作者)

    好的,感谢

    2022-02-24 13:47

该问题目前已经被锁定, 无法添加新回复