一、第三方库的制作
首先在任意需要创建第三方库的地方,右键,选择"在此处打开命令窗口"
输入egret create_lib test
生成了两个文件
我们手动创建其他的文件bin、libs、src
package.json默认是这样的:
{
"name": "test",
"compilerVersion": "5.2.2",
}
tsconfig.json改成这样:
{
"compilerOptions": {
"target": "es5",
"declaration": true,
"outFile": "bin/test2.js"
},
"files": [
"src/TestLogic.ts"
]
}
并在src里放入测试用的ts文件:TestLogic.ts,我们把这个ts生成第三方库
/**
* 测试第三方库用
* @author chenkai 2018/6/22
*/
class TestLogic {
public constructor() {
console.log("TestLogic create");
}
}
在test里右键,在此处打开命令窗口,输入egret build
会发现bin文件夹里生成了3个文件
之后再egret中使用这个第三方库就行了。本篇只谈制作,引用第三方库可以查看官网教程。
问题:
一、如果需要被制作成第三方库的文件,引用到了其他文件怎么办
比如下面这个TestUI,引用到了eui.Component
/**
* 测试第三方库用
* @author chenkai 2018/6/22
*/
class TestUI extends eui.Component{
public constructor() {
super();
console.log("TestUI create");
}
}
egret build时会报错
这是需要修改tsconfig.json,引用eui的库。include包含libs文件夹,libs文件夹里要放入eui的库。
eui的库从哪里找??? 可以直接任意新建一个eui的游戏项目,把新建项目的libs拷贝到test的libs下即可。
{
"compilerOptions": {
"target": "es5",
"declaration": true,
"outFile": "bin/test.js"
},
"files": [
"src/TestLogic.ts",
"src/TestUI.ts"
],
"include": [
"libs"
]
}
然后再次egret build,就ok了。
二、如果我有100个文件要生成1个库,那么我要在tsconfig.json里写100个files吗
当引入TestLogic.ts和TestUI.ts时,写了2个。如果是100个,咋整。
{
"compilerOptions": {
"target": "es5",
"declaration": true,
"outFile": "bin/test.js"
},
"files": [
"src/TestLogic.ts",
"src/TestUI.ts"
],
"include": [
"libs"
]
}
可以不指定files,指定一个目录就行,该目录下的所有ts都会被打成库文件。
这里指定了src文件夹,这样src下的TestLogic.ts和TestUI.ts都会被包含进来打成库。
{
"compilerOptions": {
"target": "es5",
"noImplicitAny": false,
"sourceMap": false,
"declaration": true,
"outFile": "bin/test2.js"
},
"include": [
"src",
"libs"
]
}