Egret社区
本帖最后由 云里雾里 于 2018-2-28 15:32 编辑

本题已加入常见问题汇总 » 第三方库大全,更多第三方库大全相关的话题欢迎关注讨论

应该有些朋友在项目开发中有这样的需求:编写了一些工具类 socket文件等 想要将其编译成库文件 在项目中使用。 这样做的好处是:
  • 方便代码管理和维护
  • 关键代码的安全性
  • 项目结构清晰性

好了废话不说了,直接进入正题  那么我们如何将这些关键性的东西编译成自己想要的库文件。
首先按照官方第三方库的使用方法步骤来 http://developer.egret.com/cn/gi ... ructions/index.html

第 1 步

要创建一个egret第三方库的项目文件,在命令行中输入

[mw_shl_code=applescript,true]egret create_lib 库文件名aaa[/mw_shl_code]

第三方库项目与 Egret 项目不能嵌套。请不要在Egret 项目目录下面创建第三方库项目。
您会发现刚刚创建的第三方库项目和我们平时看到的 Egret 项目结构是不同的,里面包含2个空文件夹 bin、src、libs(如果没有请自行加上),还有一个 package.json 的配置文件。

第 2 步

把准备好的文件拷贝到src文件夹中。譬如项目中 a文件夹下的ts文件

第 3 步

如果需要引用到其他的第三方库的代码,请把引用到的库文件(主要是 .d.ts 文件)放到 libs 目录下,libs 下不要放其他除了 .d.ts 外的其他 .ts 文件。(比如2步骤中的ts文件中有引用到官方的tween库 那么这里需要把tween.d.ts文件拷贝到libs下面去 那么编译库文件的时候就不会找不到tween的一些方法和接口)

第 4 步

打开 package.json,将a文件下文件写入到 files 下面 路径不要写错了,如果文件有先后依赖顺序,一定得注意顺序。

第 5 步

在命令行中输入编译命令

[mw_shl_code=applescript,true]egret build 库文件名aaa[/mw_shl_code]

编译完成后,会发现,在 bin 文件夹下,生成了一个以库文件名命名的文件夹,里面有个3个文件 aaa.d.ts a.js a.min.js
此时就编译好我们的库文件aaa 那么问题来了 如何使用呢?
使用aaa库文件
和使用官方的扩展模块方法类似,在modules里填写相关的信息


  • "name": "jszip" 第三方库的名称
  • "path": "C:/Users/Administrator/Desktop/jszip" 刚才我们创建的第三方库的路径,绝对路径或者相对路径

这里需要注意的是,jszip 需要放置在 Egret 项目目录的外面。
将上面的jszip换成我们自己编译的库文件aaa 注意库文件aaa路径的正确性。

操作完上面的步骤 那么有人就有疑问了。 src下面拷贝的ts代码还是可以被人看到源代码 对于不想开源的我 没任何意义。

本人在4.0.3版本上操作的 发现了一个问题 第一次在egretProperties.json配置好后 去编译游戏项目的时候 会将这个aaa库文件引用到项目中后 会在libs库文件夹下自动生成aaa的lib库 此时删除egretProperties.json配置文件夹下的aaa库文件夹下面的目录信息 先前的libs生成的aaa库文件夹不会消失。 也就是说引擎编译的时候 会将egretProperties.json modules下面的引用库生成libs下面对应的库文件 并不会删除先前已有的库文件夹。

那么不想开源的同学 就可以先将库文件引用进项目后 删除egretProperties.json 配置下的aaa库文件路径即可。

本人自己想了一种方案去实践了下 将编译好的库文件夹aaa下面的src的ts文件夹都删了 将bin下面的js 拷贝到src下面  按照上面第 4 步 打开 package.json,将js文件写入到 files 下面  再按照库文件的使用方法引用到项目中 也是可行的。

步骤都是按照官网来了  刚实践成功了 发出来分享分享。写的有点仓促  将就点看了。







分享到 :
14 人收藏

39 个回复

倒序浏览
dily3825002  社区管理员 | 2017-8-7 14:42:58
我简单编辑了一下,置顶和精华了,还放到「常见问题汇总」里去了,感谢贡献
云里雾里  圆转纯熟 | 2017-8-7 15:33:37
dily3825002 发表于 2017-8-7 14:42
我简单编辑了一下,置顶和精华了,还放到「常见问题汇总」里去了,感谢贡献 ...

第一次在论坛上面分享 有点小鸡冻。。
参与人数 1威望 +3 收起 理由
dily3825002 + 3

查看全部评分

egret-Jerry  官方团队 | 2017-8-8 16:52:18
看了一下,写的非常详细,不过这个是老版本的库项目结构,新版本做了很大的调整

如果能再来一份新版的教程就更好了~~

新版本文档地址:http://developer.egret.com/cn/2d/projectConfig/libraryProject
Yanjun  登堂入室 | 2017-9-15 15:12:22
学习啊
soul0521  初窥堂奥 | 2017-9-15 17:27:04
厉害了,666
adodo08  圆转纯熟 | 2017-9-18 16:59:47
看一看
guitarlcy  登堂入室 | 2017-9-20 09:34:56
到底如何,看看再说
guitarlcy  登堂入室 | 2017-9-20 10:02:24
打开 package.json,将a文件下文件写入到 files 下面 路径不要写错了,,,,,能不能山上个图?
happyking  初学乍练 | 2017-9-21 13:55:44
怎么看都像 复制粘贴的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部