來點簡單粗暴的文字:
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的模塊查找機制,然後再多試幾次就明白了。