aliang888
aliang888
  • 发布:2025-07-28 09:52
  • 更新:2025-07-28 14:00
  • 阅读:252

【报Bug】hbuilderx创建项目(vue3)自动导入插件unplugin-auto-import与uni-cloud冲突

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 家庭中文版

HBuilderX类型: 正式

HBuilderX版本号: 4.75

手机系统: Android

手机系统版本号: Android 10

手机厂商: 小米

手机机型: Note7Pro

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

直接运行到 “安卓手机“或 ”安卓模拟器“都是无法正常通过

预期结果:

...

实际结果:

...

bug描述:

为啥会冲突,真没有看懂,没有看到uni-cloud.es.js这文件有导出 h 呢,我项目也没有用到uni-cloud
仅有在运行到app端时候才会报错,运行到浏览器一切正常

[plugin:commonjs--resolver] node_modules/@dcloudio/uni-cloud/dist/uni-cloud.es.js (1:8718): Identifier "h" has already been declared
import { defineConfig } from 'vite'  
import uni from '@dcloudio/vite-plugin-uni'  
import AutoImport from 'unplugin-auto-import/vite'  

/**  
 * @type {import('vite').UserConfig}  
 */  

export default defineConfig({  
    build: {  
        sourcemap: true,  
    },  
    plugins: [  
        uni(),  
        AutoImport({  
            include: [  
                /\.[tj]sx?$/, // .ts, .tsx, .js, .jsx  
                /\.vue$/,  
                /\.vue\?vue/, // .vue  
            ],  
            imports: [  
                'vue',  
                {  
                    vue: [  
                      ['h', '_h'], // 临时解决uni-cloud.es.js与vue冲突问题:Identifier "h" has already been declared  
                   ],  
                },  
                'uni-app',  
                'pinia',  
                {  
                    '@/js/api': [['default', 'api']],  
                },  
                {  
                    '@/js/api': ['getApis'],  
                },  
                {  
                    '@/js/config': [['default', 'cfg']],  
                },  
            ],  

            dirs: ['./hooks', './stores', './uni_modules/mescroll-uni/hooks/**'],  

            exclude: [  
                // 排除冲突的文件  
            ],  
            //defaultExportByFilename: false,  
            //dts:false,  
            dts: 'auto-imports.d.ts',  

            vueTemplate: true,  
        }),  
    ],
2025-07-28 09:52 负责人:无 分享
已邀请:
DCloud_UNI_yuhe

DCloud_UNI_yuhe

您好,是否能够提供一下一个可以复现的项目?

aliang888

aliang888 (作者)

我的临时解决办法就是,直接把HBuilderX\plugins\uniapp-cli-vite\node_modules\@dcloudio\uni-cloud\dist\uni-cloud.es.js
文件里面的h变量名随便改了个名字就行(我项目没用到uni-cloud),可以编译通过,并在安卓端运行起来

h_uniIdToken = "uniIdToken",

要回复问题请先登录注册