2019独角兽企业重金招聘Python工程师标准>>>
关于egret引用第三方库的笔记
当前我需要使用一个第三方的js库(umeng的js统计):
我创建个UmengAnalysis.js文件,代码如下:
/**
* Created by haocao on 15/6/25.
*/
var umeng;
(function(umeng){
function onClickEvent(label,duration){
onEvent('click',label,duration)
}
function onEvent(tag, label, duration) {
// pc不统计
if(egret.MainContext.deviceType == egret.MainContext.DEVICE_PC) return;
prompt("event", JSON.stringify({tag: tag, label: label, duration: duration}));
}
function onKVEvent(tag, map, duration) {
// pc不统计
if(egret.MainContext.deviceType == egret.MainContext.DEVICE_PC) return;
map.id = tag;
map.duration = duration;
prompt("ekv", JSON.stringify(map));
}
umeng.onClickEvent = onClickEvent;
umeng.onEvent = onEvent;
umeng.onKVEvent = onKVEvent;
})(umeng || (umeng={}));
然后新建UmengAnalysis.d.ts文件,代码如下:
/**
* Created by haocao on 15/6/25.
*/
declare module umeng{
export function onClickEvent(label:string,duration?:number);
export function onEvent(tag:string, label:string, duration?:number);
export function onKVEvent(tag:string, map:{}, duration?:number);
}
步骤:
1.在项目的根目录创建一个 umeng.json 文件,此文件的文件名最好和你的 module名字相同
在 umeng.json 中编写以下配置
{
"name": "umeng",
"dependence": ["core"],
"source":"src/umeng",
"file_list": [
"UmengAnalysis.js",
"UmengAnalysis.d.ts"
]
}
注:
name : 模块名称
depencnce : 模块依赖的其他模块的模块名
source : 源代码的路径
file_list : 此模块包括的所有代码,需要包括全部 js 文件、ts 文件以及js文件所对应的.d.ts文件
2.src目录创建,第三方库的文件夹umeng。把js,ts文件放进去。
3.在项目的 egretProperties.json 文件中,添加以下代码:
modules:
[
{"name":"umeng" , "path":"."}
]
4.执行 egret build -e 就会把模块编译
最后说明:
针对已有js如何封装成ts,具体可以参考egret的源码。这个目前还没有详细的教程,只能自己参考源码。
参考文章:
http://bbs.egret-labs.org/thread-915-1-1.html