安装引擎,看了下好像没什么需要学的。
egret [command]
就和git还有npm一样的用法嘛其实,举例使用:
1、运行名为【HelloWorld】的一个项目
egret run HelloWorld
2、编译名为【HelloWorld】的一个项目
egret build HelloWorld
接下来具体介绍命令列表。
创建新项目
用法:
egret create project_name [--type core|eui]
参数说明:
关键字 | 描述 |
---|---|
project_name | 项目名称,按照操作系统的命名规范命名 |
--type | 要创建的项目类型 core 或 eui,默认值为core |
举例:
1、创建名为【HelloWorld】的一个空项目
egret create HelloWorld
2、创建名为【HelloWorld】的一个eui项目
egret create HelloWorld --type eui
创建新第三方库项目
用法:
egret create_lib lib_name
参数说明:
关键字 | 描述 |
---|---|
lib_name | 第三方库名称,按照操作系统的命名规范命名 |
从h5游戏生成app
用法:
egret create_app app_name -f h5_game_path -t template_path
参数说明:
关键字 | 描述 |
---|---|
app_name | 移动应用项目名称,按照操作系统的命名规范命名 |
-f | app项目所对应h5项目的路径 |
-t | 对应 Native Support 路径 |
如果是在项目文件夹下编译,就不要加项目路径。注意:路径最好加引号,防止路径中有空格导致报错。
构建指定项目
用法:
egret build [project_name] [-e] [--target wxgame|bricks|ios|android]
参数说明:
关键字 | 描述 |
---|---|
project_name | 项目名称,按照操作系统的命名规范命名 |
-e | 编译指定项目的同时编译引擎目录 |
--target | 编译的目标版本,可选参数有wxgame:微信小游戏;bricks:玩一玩;android:安卓项目;iOS:iOS项目 |
如果是在项目文件夹下执行命令,可以不加项目名称。
举例:
1、编译【HelloWorld】
egret build HelloWorld
2、编译【HelloWorld】的同时编译引擎
egret build HelloWorld -e
3、编译【HelloWorld】的同时编译微信小游戏项目
egret build HelloWorld --target wxgame
发布项目
用法:
egret publish [project_name] [--version [version]] [--target wxgame|bricks|ios|android]
参数说明:
关键字 | 描述 |
---|---|
project_name | 项目名称,按照操作系统的命名规范命名 |
--version | 设置发布之后的版本号,可以不设置 |
--target | 编译的目标版本,可选参数有wxgame:微信小游戏;bricks:玩一玩;android:安卓项目;iOS:iOS项目 |
如果是在项目文件夹下执行命令,可以不加项目名称。
举例:
发布【HelloWorld】到微信小游戏
egret publish HelloWorld --version 0.03 --target wxgame
启动本地服务器,并在默认浏览器中运行指定项目
用法:
egret run [project_name] [--port 3000]
参数说明:
关键字 | 描述 |
---|---|
project_name | 项目名称,按照操作系统的命名规范命名 |
--port | 指定端口号 |
如果是在项目文件夹下执行命令,可以不加项目名称。
举例:
在指定端口下运行【HelloWorld】项目
egret startserver HelloWorld --port 3002
重置项目中的引擎代码
用法:
egret clean [project_name]
参数说明:
关键字 | 描述 |
---|---|
project_name | 项目名称,按照操作系统的命名规范命名 |
如果是在项目文件夹下执行命令,可以不加项目名称。
升级项目代码
Egret Launcher v1.0 之后的 upgrade
用法:
egret upgrade [project_name] --egretversion [target version]
参数说明:
关键字 | 描述 |
---|---|
project_name | 项目名称,按照操作系统的命名规范命名 |
target version | 要切换的目标版本号 |
如果是在项目文件夹下执行命令,可以不加项目名称。
举例:
升级当前目录下项目到 5.1.0
egret upgrade --egretversion 5.1.0
Egret Launcher v1.0之前的 upgrade
用法:
egret upgrade [project_name]
参数说明:
关键字 | 描述 |
---|---|
project_name | 项目名称,按照操作系统的命名规范命名 |
如果是在项目文件夹下执行命令,可以不加项目名称。
举例:
升级【HelloWorld】项目
egret upgrade HelloWorld
关于Egret Launcher v1.0 中项目降版本的说明
修改项目根目录下的配置文件 'egretProperties.json' 中的 'egret_version' 字段下的版本号
执行 egret clean 后项目降到目标版本
修改引擎源码后,编译引擎源码。如果没有特殊需求,不建议普通用户使用
用法:
egret make
获得Egret信息,如当前Egret版本,以及安装路径
用法:
egret info
了解各个command的细节
用法:
egret help [command]
index.html为项目的入口问价,下面是body标签里的默认配置,可以根据项目需求修改:
在script标签内,有项目的启动参数,如下图所示:
egret.runEgret({ renderMode: "webgl", audioType: 0,
calculateCanvasScaleFactor:function(context) {
var backingStore = context.backingStorePixelRatio ||
context.webkitBackingStorePixelRatio ||
context.mozBackingStorePixelRatio ||
context.msBackingStorePixelRatio ||
context.oBackingStorePixelRatio ||
context.backingStorePixelRatio || 1;
return (window.devicePixelRatio || 1) / backingStore;
}});
启动参数是一个对象,包括一下3个可选属性:
这个写在第一篇里,可以从这里跳转。
在项目配置文件egretProperties.json中,modules字段定义了项目中引用的所有库文件。
其中,引擎库可以分为2种。
1、内置库
内置库可以省略path字段,默认和egret_version使用相同的版本,也可以在path字段里单独设置该库使用的版本。
2、第三方库
Egret官方提供一些常见的第三方库供开发者使用。开发者也可以在项目中配置自己的库。
tsconfig.json是Typescript项目的配置文件,TypeScript编译器编译代码之前,会首先读取这个配置文件,并根据其中的属性来设置TypeScript项目的编译参数。
1 ) 在创建 egret 项目时,会自动在项目根目录下生成名为 “tsconfig.json” 的文本文件。
2 ) 下面为引擎默认的参数,可以根据您项目的需求,自己修改:
{
"compilerOptions": {
"target": "es5",
"outDir": "bin-debug",
"experimentalDecorators": true,
"lib": [
"es5",
"dom",
"es2015.promise"
],
"types": []
},
"include": [
"src",
"libs"
]
}
详细说明compilerOptions里的字段:
3)设置其他字段,比如与compilerOptions平级的还有include字段,表示哪些文件会参与编译,在引擎4.x之前的版本,该字段为exclude,表示哪些文件不参与编译。
4)执行egret build命令,可以按照配置文件来编译egret项目。
在Egret中,需使用TypeScript编写程序,最终编译成浏览器可读的JaveScript。
总的来说,当好几个类之间存在互相引用的关系的时候,可能会存在一个文件加载在它引用的类所在的文件加载之前,导致浏览器报错该类未定义。想要解决这个问题,TypeScript中,可以使用
///
看的有点一知半解,,之后用到的时候再详细补充吧。