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

- 发布:2025-07-28 09:52
- 更新:2025-07-28 14:00
- 阅读:252
产品分类: 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,
}),
],


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