uni-app 编译器版本升级后uni-ui报错Duplicate export 'default'

uni-app 编译器版本升级后uni-ui报错Duplicate export ‘default’

测试过的手机:

华为p40、华为荣耀、小米、Iphone X

操作步骤:

  • 本地HbuilderX没有升级,打包没有任何问题,一旦使用新安装版本,打包一直过不去

预期结果:

  • 编译器版本升级,应该兼容uni-ui

实际结果:

  • 编译器是强制升级在好像,但升级后uni-ui不兼容

bug描述:

第一张图片是编译器v3.1.22,正常
第二张图片是编译器v3.2.2,报错

开发环境 版本号 项目创建方式
Windows 10 3.8.4 CLI

Image 1
Image 2
Image 3


更多关于uni-app 编译器版本升级后uni-ui报错Duplicate export 'default'的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

cli 安装的 uni-ui 吧 ?
如果 是的话 需要在vue.config.js中配置
// vue.config.js
module.exports = {
transpileDependencies:[’@dcloudio/uni-ui’]
}

更多关于uni-app 编译器版本升级后uni-ui报错Duplicate export 'default'的实战教程也可以访问 https://www.itying.com/category-93-b0.html


配置过了还是不行

vue.config.js要与package.json在同一目录

这个问题是由于编译器升级后对ES模块导出检查更严格导致的。Duplicate export 'default'错误表示同一个模块中存在多个默认导出。

主要原因:

  1. uni-ui组件中可能同时使用了export defaultmodule.exports两种导出方式
  2. 编译器v3.2.2版本加强了对ES模块规范的校验

解决方案:

  1. 检查uni-ui版本 升级到最新版uni-ui,官方已修复此问题:

    npm update [@dcloudio](/user/dcloudio)/uni-ui
    
  2. 临时降级编译器package.json中锁定编译器版本:

    {
      "devDependencies": {
        "[@dcloudio](/user/dcloudio)/uni-template-compiler": "3.1.22"
      }
    }
    
  3. 检查自定义组件 如果使用了自定义组件,确保每个.vue文件只有一个export default

    // 正确
    export default {
      // 组件选项
    }
    
    // 错误 - 不要同时使用两种导出方式
    module.exports = {}
    export default {}
    
  4. 清理缓存

    rm -rf node_modules/.vite
    npm cache clean --force
    npm install
    
  5. 检查uni_modules 如果通过uni_modules安装uni-ui,更新到最新版本:

    npx [@dcloudio](/user/dcloudio)/uni-upgrade-center
回到顶部