在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的模塊查找機制,然後再多試幾次就明白了。

 

 

 

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