在cocos creator 中,使用typescript调用javascript代码

来点简单粗暴的文字:

A,先讲步骤

1,在 asserts/script 中建立一个文件夹(这么做仅仅是为了方便归集要用到的javascript代码)比如叫 jslibs。

2,假设我们从另外的地方拿到了一个 xx.js 文件,把它放在这个 jslibs 中。如果拿到一个yy.js,同样的放到这里面吧,免得文件太乱。

3,在这个 jslibs 中建立两个文件,一个 "随便什么名字.d.ts" 一个 "与.d.ts一样的名字.js" 文件。如(zz.d.ts 和 zz.js)

4,在zz.d.ts中声明你要用到的方法,导出一个模块。在zz.js中定义一个object,定义并引用你要用到的库。

5,在你要使用的 ts 代码中调用这个zz.d.ts声明的模块和类或方法。

 

B,再来点代码实例

xx.js

cc.Class({

……

sayHello : function(){/*do any things you like*/}

……

});

zz.d.ts:

export declare module hellolib { // 这个hellolib就是zz.js中导出的Object

        declare class World{ // 这个 World 就是 zz.js 中导出的名字,并且在xx.js中是个Object就可以了

               sayHello():void; // 这个sayHello方法,就是 js 中真正有的方法,名字对得上就可以了

        }

}

 

zz.js

"use strict";

var whatyoulike= {};

module.exports.hellolib= whatyoulike;

// 所有要导出的类或变量在下面这里开始写

whatyoulike.World= require("./xx.js");  // 注意这个 World 它就是外部声明的 World,名字对上就可以

 

以上。自行推导不在cocos creator中typescript调用javascript的搞法。如果没搞出来,多试几次,看一下ts生成后的代码,理解一下javascript的模块查找机制,然后再多试几次就明白了。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章