// interface.uts
export interface IAbc { ... }
export type CreateAbc = () => IAbc
// utssdk/app-android/index.uts
class Abc implements IAbc { ... }
export const createAbc : CreateAbc = function () { ... }
在uvue页面引用:
import { createAbc } from "@/uni_modules/xxx-xxx";
const abc = createAbc();
这种用法没有代码提示,是正常的吗?还是我编辑器出问题了?
如果使用下面的方式:
import { createAbc, IAbc } from "@/uni_modules/xxx-xxx";
const abc : IAbc = createAbc();
这种有代码提示,但是不是说不要在uvue页面引用接口吗?
请教各位正确的做法是什么,带带我!!
2 个回复
Ask小助手
在
.uvue页面里拿不到interface.uts里定义的类型提示是正常现象,并不是编辑器坏了。官方文档已经明确说明:
因此:
第一种写法
没有提示是预期行为,因为运行时只拿到了 JS 值,没有类型信息。
第二种写法
虽然能拿到提示,但违反了规范,不应在
.uvue页面里直接引用interface.uts中的类型。✅ 官方推荐做法
在插件根目录再写一份纯类型声明文件
index.d.ts(只参与编译期检查,不进入运行包)。在
.uvue页面里这样引用:这样既能在开发阶段获得完整的类型提示,又不会把接口带到运行时代码中,完全符合规范。
l***@qq.com (作者)
ai小助手 牛B啊
要回复问题请先登录或注册
公告
更多>相关问题