HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

Uniapp cli项目引用UTS插件(基于uniapp x)的一些异常问题

uniapp插件 uniapp x uts插件

1.[plugin:uni:uts-uni_modules] compiler.compile is not a function

2.createUniXKotlinCompilerOnce is not a function

3.Definite Assignment Assertions is not supported.

我当前的环境:
HBuilderX版本:4.24
cli 的@dcloudio/uni-app版本: 3.0.0-4020420240722002

首先检查package.json中的@dcloudio/uni-uts-v1是否和别的@dcloudio/uni-xxx版本不一致,需要保持一致
如果有异常就执行下hx 菜单栏 -> 工具 -> 插件安装 -> 卸载重装uni-app(vue3),最好是让hx自动触发重新下载
上面的执行后还有问题可以尝试把uts相关的都删除重新安装一次,感觉像是有安装顺序的问题,我全部删除重新安装后就没问题了,不知道是啥原因造成的

#package.json的部分配置    
"devDependencies": {  
    "@dcloudio/types": "3.4.8",  
    "@dcloudio/uni-automator": "3.0.0-4020420240722002",  
    "@dcloudio/uni-cli-shared": "3.0.0-4020420240722002",  
    "@dcloudio/uni-stacktracey": "3.0.0-4020420240722002",  
    ###这个需要和其他的保持一样  
    "@dcloudio/uni-uts-v1": "3.0.0-4020420240722002",  
    ###  
    "@dcloudio/vite-plugin-uni": "3.0.0-4020420240722002",  
   ...  
  },

https://ask.dcloud.net.cn/question/195186
https://ask.dcloud.net.cn/question/202241

继续阅读 »

1.[plugin:uni:uts-uni_modules] compiler.compile is not a function

2.createUniXKotlinCompilerOnce is not a function

3.Definite Assignment Assertions is not supported.

我当前的环境:
HBuilderX版本:4.24
cli 的@dcloudio/uni-app版本: 3.0.0-4020420240722002

首先检查package.json中的@dcloudio/uni-uts-v1是否和别的@dcloudio/uni-xxx版本不一致,需要保持一致
如果有异常就执行下hx 菜单栏 -> 工具 -> 插件安装 -> 卸载重装uni-app(vue3),最好是让hx自动触发重新下载
上面的执行后还有问题可以尝试把uts相关的都删除重新安装一次,感觉像是有安装顺序的问题,我全部删除重新安装后就没问题了,不知道是啥原因造成的

#package.json的部分配置    
"devDependencies": {  
    "@dcloudio/types": "3.4.8",  
    "@dcloudio/uni-automator": "3.0.0-4020420240722002",  
    "@dcloudio/uni-cli-shared": "3.0.0-4020420240722002",  
    "@dcloudio/uni-stacktracey": "3.0.0-4020420240722002",  
    ###这个需要和其他的保持一样  
    "@dcloudio/uni-uts-v1": "3.0.0-4020420240722002",  
    ###  
    "@dcloudio/vite-plugin-uni": "3.0.0-4020420240722002",  
   ...  
  },

https://ask.dcloud.net.cn/question/195186
https://ask.dcloud.net.cn/question/202241

收起阅读 »

uts组件插件 使用this.$emit 时提示 fireEvent must be called by main thread

要在 emit 触发的外层使用
UTSAndroid.getDispatcher("main").async(function (_) {

}, null)
包括(必须在第一层)

UTSAndroid.getDispatcher("main").async(function (_) {  
    this.$emit('disconnectCallBack')  
}, null)
继续阅读 »

要在 emit 触发的外层使用
UTSAndroid.getDispatcher("main").async(function (_) {

}, null)
包括(必须在第一层)

UTSAndroid.getDispatcher("main").async(function (_) {  
    this.$emit('disconnectCallBack')  
}, null)
收起阅读 »

uts踩坑集锦

uts

一、自定义类型永远不要直接定义在函数声明中,特别是长一点的自定义类型。类型定义要设置在专门的声明文件中
二、类implements接口编辑器自动补全的代码,只留下函数名,(),{},这三个东西就行,其他的删掉自己写。记得 public和override这两个修饰符
三、uts暴露给js的函数的参数,参数类型不要设置成复杂的嵌套,uniapp1.0下会有问题。
四、uts export * from “...”再导出类,在js环境调用时报错
五、uts类没有重载函数能力,可让函数参数的类型为一个对象(UTSJSONOBJECT 或 types),对象属性可为空来规避。亦可直接写2个不同名的函数

继续阅读 »

一、自定义类型永远不要直接定义在函数声明中,特别是长一点的自定义类型。类型定义要设置在专门的声明文件中
二、类implements接口编辑器自动补全的代码,只留下函数名,(),{},这三个东西就行,其他的删掉自己写。记得 public和override这两个修饰符
三、uts暴露给js的函数的参数,参数类型不要设置成复杂的嵌套,uniapp1.0下会有问题。
四、uts export * from “...”再导出类,在js环境调用时报错
五、uts类没有重载函数能力,可让函数参数的类型为一个对象(UTSJSONOBJECT 或 types),对象属性可为空来规避。亦可直接写2个不同名的函数

收起阅读 »