一、第三方库的制作

官方教程:第三方库的使用方法

水友帖子:新版本第三方库制作细节5.1.x

首先在任意需要创建第三方库的地方,右键,选择"在此处打开命令窗口"

输入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第三方库的制作和使用(模块化 第三方库)的更多相关文章

  1. iOS 库文件制作

    一.静态库和动态库的介绍 一.什么是库? 库是共享程序代码的方式,一般分为静态库和动态库. 二.静态库与动态库的区别? 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链 ...

  2. Python库,让你相见恨晚的第三方库

    环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具.pyenv – 简单的 Python 版本管理工具.Vex – 可以在虚拟环境中执行命令.virt ...

  3. IOS开发中制作属于自己的静态库.a、资源库.bundle、.framework

    一.什么是库        库实际上是一种代码共享的方式,主要用于代码重用和源码隐藏,通常分为动态库和静态库. 静态库:链接时完整的拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链接时不复 ...

  4. iOS开发之静态库的制作

    当你需要和别人分享代码,但又不想让别人看到你内部的实现时就需要制作静态库,通常用于第三方SDK 下面就分享一下制作静态库(.a)的过程: 1.打开Xcode,新建workspace 2.随便给work ...

  5. iOS实用技能扩展-静态库的制作与简单使用

    前言:此文是关于静态库的概念描述,如何制作及简单调试使用,不同版本的说明与场景使用. 1.关于库的简介: 库可以分为2种类型 开源库 公开源代码,能看到具体实现 比如SDWebImage.AFNetw ...

  6. 制作pypi上的安装库

    下载地址 如何制作分发工具呢 setuppy 源码包 其他文件 制作过程 首先上场的肯定是setuppy了如下 然后是LICENCE 注册 测试 总结 自从接触Python以来也有几个月了,虽然主要的 ...

  7. iOS 静态库的制作

    按照公司的想法 要开发一款SDK,于是就抽空学习一下静态枯的制作过程. 在IOS中有静态库和动态库的区分,下面我们就来详细介绍一下. 一.静态库和动态库的详细介绍. 我们平时的工程中或多或少都要引入第 ...

  8. iOS静态库.Framework制作

    首先要解释一下什么是库,库(Library)其实就是一段编译好的二进制代码,加上头文件就可以供别人使用,一般会有两种情况要用到库: 某些代码需要给别人使用,但是我们不希望别人看到源码,就需要以库的形式 ...

  9. iOS开发中静态库之".framework静态库"的制作及使用篇

    iOS开发中静态库之".framework静态库"的制作及使用篇 .framework静态库支持OC和swift .a静态库如何制作可参照上一篇: iOS开发中静态库之" ...

随机推荐

  1. Android四大组件之——Activity的开启:StartActivity()和StartActivityForResult()(图文详解)

                如需转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai       联系方式:JohnTsai.Work@gmail.com   ...

  2. RequestDispatcher 的 forward和include

    1.RequestDispatcher 的 forward和include: http://www.avajava.com/tutorials/lessons/what-is-a-request-di ...

  3. LINE 不被封锁的技巧

    什么是封锁? 谈LINE 被封锁之前,我们先来了解一下什么是封锁.LINE 的封锁分为「好友封锁你」与「官方封锁你」二种,有些人将官方封锁讲成「停权」,其实LINE 的停权并不是你的帐号全被封锁,被封 ...

  4. tomcat8.0 基本参数调优配置

    1.优化内核及TCP连接:   fs.file-max = 655350 # 系统文件描述符总量 net.ipv4.ip_local_port_range = 1024 65535 # 打开端口范围 ...

  5. centos图形界面的开启和关闭

    一般来说centos主要用于服务器端,所以很少开启图形化界面,但是有时候为了工作方便也会偶尔开启图形界面,下面就让简单谈谈如何开启图形化界面, 当然简化安装是没有这个程序的需要自行安装,可以yum安装 ...

  6. [Module] 03 - Software Design and Architecture

    本篇涉及内容: ORM框架(无需再用contentprovider或者sqlitedatebasehelper之类的古董工具了) 规划各种业务Bean文件(配合ORM框架) 设计一个好的请求基类(Ba ...

  7. js获取视频截图

    参考:https://segmentfault.com/q/1010000006717959问题:a.获取的好像是第一帧的图?第一帧为透明图时,获取的个透明图片b.得先加载视频到video,做视频上传 ...

  8. 使用Socket抓取网页源码

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  9. TCP拥塞控制算法纵横谈-Illinois和YeAH

    周五晚上.终于下了雨.所以也终于能够乱七八糟多写点松散的东西了... 方法论问题. 这个题目太大以至于内容和题目的关联看起来有失偏颇.只是也无所谓,既然被人以为"没有方法论"而歧视 ...

  10. 5 -- Hibernate的基本用法 --4 3 JDBC连接属性

    Hibernate需要进行数据库访问,因此必须设置连接数据库的相关属性.所有Hibernate属性的名字和语义都在org.hibernate.cfg.Environment中定义. 关于JDBC连接配 ...