uni-app 官方插件 uni-wifi 打自定义基座报错 x Union Type is not supported.

发布于 1周前 作者 yibo5220 来自 Uni-App

uni-app 官方插件 uni-wifi 打自定义基座报错 x Union Type is not supported.

# 产品分类
uniapp/App

# PC开发环境操作系统
Windows

# PC开发环境操作系统版本号
win10专业版 22H2

# 手机系统
Android

# 手机系统版本号
Android 12

# 手机厂商
诺基亚

# 手机机型
Nokia 8.3 5g

# 页面类型
vue

# vue版本
vue3

# 打包方式
云端

# 项目创建方式
CLI

# CLI版本号
3.8.12

## 操作步骤
- 使用上述说到的各个版本,打自定义基座或正式包,安卓/ios都可以复现

## 预期结果
- 自定义基座、正式包可以正常打包

## 实际结果
- 自定义基座、正式包直接报错

## bug描述
官方插件 uni-wifi 打自定义基座报错  
x Union Type is not supported.  
[HBuilder] 13:36:08.202      at uni_modules/uni-wifi/utssdk/interface.uts:101:1  
[HBuilder] 13:36:08.208  100 | /*  
[HBuilder] 13:36:08.209  101 | export type WifiErrorCode = 12000 |12001 | 12002 |  12005 | 12007 | 12010 | 12013;  
[HBuilder] 13:36:08.213      :                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
[HBuilder] 13:36:08.213  101 |  
[HBuilder] 13:36:08.222      `----  
[HBuilder] 13:36:08.222   x Expected '{', got ';'  
[HBuilder] 13:36:08.226      at uni_modules/uni-wifi/utssdk/interface.uts:101:1  
[HBuilder] 13:36:08.227  100 | /*  
[HBuilder] 13:36:08.234  101 | export type WifiErrorCode = 12000 |12001 | 12002 |  12005 | 12007 | 12010 | 12013;  
[HBuilder] 13:36:08.238      :                                                                                  ^  
[HBuilder] 13:36:08.238  101 |  

![Image](https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20231226/2af4cf35a1ddc808769c238d8c4cc304.png)

"[@dcloudio](/user/dcloudio)/uni-uts-v1": "3.0.0-3081220230817001" 依赖已经安装,项目是vue-cli创建的项目,vue3版本,HX版本是3.98。安卓需要配置的4个权限也给了。  
现在是自定义基座打包前的编译过不去,直接报错,安卓/IOS 都是,包括正式打包。

4 回复

官方人呢?能不能出来管一管?


升级到最新版本HBuilder 再试试。

官方麻烦出来回复一下???

在使用 uni-app 官方插件 uni-wifi 打包自定义基座时,如果出现错误提示 x Union Type is not supported.,这通常是由于 TypeScript 版本或配置问题导致的。以下是一些可能的解决方案:


1. 检查 TypeScript 版本

确保项目中使用的 TypeScript 版本是 uni-app 官方推荐的版本。uni-app 官方推荐使用 TypeScript 4.x 版本。如果版本过高或过低,可能会导致不兼容的问题。

解决方法:

  • 检查 package.json 中的 typescript 版本。
  • 如果需要降级或升级 TypeScript,可以使用以下命令:
    npm install typescript@4.x --save-dev

2. 检查 tsconfig.json 配置

确保 tsconfig.json 的配置正确,特别是 targetlib 选项。uni-app 对 TypeScript 的配置有一定的要求。

解决方法:tsconfig.json 中添加或修改以下配置:

{
  "compilerOptions": {
    "target": "es6",
    "lib": ["es6", "dom"],
    "module": "esnext",
    "moduleResolution": "node",
    "strict": true,
    "skipLibCheck": true
  }
}

3. 检查代码中的联合类型

错误提示 Union Type is not supported. 表明代码中可能使用了 TypeScript 的联合类型(|),而 uni-app 的自定义基座打包工具可能不支持这种语法。

解决方法:

  • 检查代码中是否使用了联合类型,例如:
    let value: string | number;
  • 如果确实需要使用联合类型,可以尝试将其替换为更具体的类型,或者使用类型断言。

4. 更新 uni-app 和 HBuilderX

确保你使用的 uni-app 和 HBuilderX 是最新版本,旧版本可能存在兼容性问题。

解决方法:

  • 更新 uni-app 到最新版本:
    npm install [@dcloudio](/user/dcloudio)/uni-app[@latest](/user/latest)
  • 更新 HBuilderX 到最新版本(通过 HBuilderX 的检查更新功能)。

5. 清除缓存并重新打包

有时缓存可能导致打包失败,可以尝试清除缓存并重新打包。

解决方法:

  • 清除项目缓存:
    npm cache clean --force
  • 删除 node_modulespackage-lock.json,然后重新安装依赖:
    rm -rf node_modules package-lock.json
    npm install
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!