Cocos Creator/TypeScript中怎么申明Baidu小游戏接口才不会报错?

背景

由于TypeScript加强了对类型和变量的检查,所以,如果像JavaScript那样,直接使用Baidu小游戏的接口swan,则会在代码编辑器中看到很多错误。

不过,值得一提的是,这些错误是可以忽略的,并不影响最终的运行。

但是,怎么样才能去掉这些错误呢?

答案就是,提前申明。

解决方法

第一步,获取swan接口

可以通过 window["swan"] 得到。

// Baidu.ts

let sdk = window["swan"];
console.info("[Baidu] sdk: ", sdk);

let Baidu = {
    isValid(){
        return !!sdk;
    },
    sdk: sdk
}

export default Baidu;

引用

在需要使用百度接口的地方,通过import以后,可以通过Baidu.sdk来调用对应的接口。

如果想要保持与JavaScript代码一致,可以将其赋值到一个本地变量上swan。

import Baidu from "./Baidu";

let swan = Baidu.sdk;

搞定。