Egret第三方库的制作和使用(模块化 第三方库)
一、第三方库的制作
首先在任意需要创建第三方库的地方,右键,选择"在此处打开命令窗口"

输入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"
]
}
Egret第三方库的制作和使用(模块化 第三方库)的更多相关文章
- iOS 库文件制作
一.静态库和动态库的介绍 一.什么是库? 库是共享程序代码的方式,一般分为静态库和动态库. 二.静态库与动态库的区别? 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链 ...
- Python库,让你相见恨晚的第三方库
环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具.pyenv – 简单的 Python 版本管理工具.Vex – 可以在虚拟环境中执行命令.virt ...
- IOS开发中制作属于自己的静态库.a、资源库.bundle、.framework
一.什么是库 库实际上是一种代码共享的方式,主要用于代码重用和源码隐藏,通常分为动态库和静态库. 静态库:链接时完整的拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链接时不复 ...
- iOS开发之静态库的制作
当你需要和别人分享代码,但又不想让别人看到你内部的实现时就需要制作静态库,通常用于第三方SDK 下面就分享一下制作静态库(.a)的过程: 1.打开Xcode,新建workspace 2.随便给work ...
- iOS实用技能扩展-静态库的制作与简单使用
前言:此文是关于静态库的概念描述,如何制作及简单调试使用,不同版本的说明与场景使用. 1.关于库的简介: 库可以分为2种类型 开源库 公开源代码,能看到具体实现 比如SDWebImage.AFNetw ...
- 制作pypi上的安装库
下载地址 如何制作分发工具呢 setuppy 源码包 其他文件 制作过程 首先上场的肯定是setuppy了如下 然后是LICENCE 注册 测试 总结 自从接触Python以来也有几个月了,虽然主要的 ...
- iOS 静态库的制作
按照公司的想法 要开发一款SDK,于是就抽空学习一下静态枯的制作过程. 在IOS中有静态库和动态库的区分,下面我们就来详细介绍一下. 一.静态库和动态库的详细介绍. 我们平时的工程中或多或少都要引入第 ...
- iOS静态库.Framework制作
首先要解释一下什么是库,库(Library)其实就是一段编译好的二进制代码,加上头文件就可以供别人使用,一般会有两种情况要用到库: 某些代码需要给别人使用,但是我们不希望别人看到源码,就需要以库的形式 ...
- iOS开发中静态库之".framework静态库"的制作及使用篇
iOS开发中静态库之".framework静态库"的制作及使用篇 .framework静态库支持OC和swift .a静态库如何制作可参照上一篇: iOS开发中静态库之" ...
随机推荐
- jquery click事件,多次执行
用jquery绑定一个按钮click事件后,第一次点击后,一切正常,第二次点击,竟然执行两次,以后越来越多, 后来查看文档发现 jquery click 不是 替换原有的function 而是接 ...
- [Learn AF3]第二章 App Framework 3.0的组件View——AF3的驱动引擎
View:af3中的驱动引擎 组件名称:View 使用说明:按照官方的说法,view组件是af3的“驱动引擎(driving force)”,view是af3应用的基础,一个app中可以包 ...
- 【WP8】让TextBox文本支持滑动(Scroll)
通过修改样式让TextBox支持文本滑动 在Silverlight上,TextBox是有文本滚动的功能的,当TextBox的文本过长时,可以进行拖动的,TextBox使用 VerticalScroll ...
- tomcat启动时设定环境变量
在tomcat的bin目录中修改startup.bat 设置CATALINA_HOME set "CATALINA_HOME=F:\solr\apache-tomcat\apache-tom ...
- Android学习笔记——保存数据到SQL数据库中(Saving Data in SQL Databases)
知识点: 1.使用SQL Helper创建数据库 2.数据的增删查改(PRDU:Put.Read.Delete.Update) 背景知识: 上篇文章学习了保存文件,今天学习的是保存数据到SQL数据库中 ...
- 让 Oracle 11g 32位运作在64位 Windows 上
并非不能运行. 本人安装版未曾尝试,但绿色版倒是运行成功了. 很简单:注册表的位置发生了变化而已! 默认(32位.64位),oracle会读取以下注册表的位置: [HKEY_LOCAL_MA ...
- php5.4安装fileinfo扩展
Fileinfo 扩展是libmagic库的一个封装,可以用来获得文件的一些信息,如MIME类型 安装php_fileinfo扩展 1.windows 用phpinfo()查看php版本 下载 选择合 ...
- ubuntu下安装程序的五种方法
在ubuntu当中,安装应用程序我所知道的有三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种.下面针对每一种方法各举例来说明. 一.apt-get方法 使用a ...
- Mesos 入门教程
Mesos提供了高效.跨分布式应用程序和框架的资源隔离和共享,支持Hadoop. MPI.Hypertable.Spark等. Mesos是Apache孵化器中的一个开源项目,使用ZooKeeper实 ...
- numpy, pandas, matplotlib等常用库的学习手册
pandas介绍: 待续 参考资料: 中文:https://www.cnblogs.com/skying555/p/5914391.html 英文:http://www.datadependence. ...