EUI-BOOSTER-TOOL
================================================
将运行时解析exml修改为编译时解析,eui加载提速10倍以上

Developed by Egret Technology

__当前版本: v0.2.7__
   
    增加了对tween动画的支持

__历史版本:__ 

    * v0.2.6 稳定性未知
        bug 修复:完善项目依赖库路径,固定版本号
    * v0.2.5 稳定
        bug修复:第一次运行'--fixedConfig'还是会动态生成config文件的问题,改成了使用已有的config文件,第一次运行也可以节约编译时间
        bug修复:修复了生成的关键字"let"导致的兼容问题 全部改回了"var"

    * v0.2.4 稳定性未知
        添加`-cfg`用于设定自定义配置文件路径,该配置文件是euibooster扫描项目目录下的ts文件从而生成的静态json
        添加`--fixedConfig`,如果项目没有修改的ts,该参数用来忽略每次都要进行配置文件生成的过程。默认情况下配置文件生成在`<projectDir>/.euiboostercfg`
    * v0.2.3 稳定性未知
        增加了`-i`命令 支持增量编译
        除非改回原来的运行时解析模式,否则`euibooster clean`命令不必要调用了(使用增量编译)
    * v0.2.2 稳定性未知
        增加了 `-out <outDir>` 在不修改`<egretPublishDir>`内文件的同时将结果(*.thm.json)写入到一个单独的文件夹中便于批量处理,使用了-out 指定目录后 clean命令不必每次都调用
        改进了命令行的参数格式`<egretProjectDir>`和`<outDir>`优先匹配当前工作路径的相对路径,`<egretPublishDir>`。
        `<egretPublishDir>`可以指定任意包含`*.thm.json`的目录,支持解析开发版或发布版。
    * v0.2.1 稳定版本
        添加了更加严格的id的判断        
    * v0.2.0 稳定版本
        修复v0.1.9的问题
        支持 w:id 属性
    * v0.1.9 稳定版本
        可以使用百分比表示如下属性 "left","right","top","bottom","horizontalCenter","verticalCenter"。
        可以在继承自eui类的自定义类中重载"itemRenderer"、"itemRendererSkinName"和"skinName"这三个属性了(此前版本会报错)
    * v0.1.8 不稳定
    * v0.1.7 稳定版本



准备工作:
---
	安装最新版本node 或将node升级到最新版本

	将游戏项目提升至v3.1.4版本以上并执行egret build -e(确保使用了最新的引擎版本)

使用方法:
---
全局安装euibooster命令行工具

```
npm install -g cli-eui-new
```

###1.加速一个游戏项目

```
euibooster [-i] <egretProjectDir> <egretPublishDir> [ -out <outDir> ] [--fixedConfig] [-cfg <configFilePath>]
```

说明：


`egretProjectDir` 游戏目录,必要参数,绝对路径或相对于当前工作路径(pwd)的相对路径 可以使用 . 或 ../ 格式

`egretPublishDir` 发布目录,必要参数,绝对路径或相对于<egretProjectDir>的相对路径 可以使用 . 或 ../格式

`outDir`          自定义输出目录,可选参数,绝对路径或相对于当前工作路径(pwd)的相对路径 可以使用 . 或 ../ 格式

`-i` 开启增量编译模式 只编译改动的exml文件,若未开启则默认编译*.thm.json下列出的所有exml文件

`--fixedConfig` 开启固定配置模式 默认编译流程会搜索工程目录下的所有ts文件生成一个中间配置，如果项目较大且仅仅是修改exml皮肤文件则可以打开此项节省编译时间

`-cfg` 指定生成的中间配置位置 仅用于测试或高级开发功能

以下是使用实例:

![目录结构](pic/目录结构.png)

![普通命令](pic/普通命令.png)

![完整命令](pic/完整命令.png)

###2.从加速项目恢复成普通项目(非必须)

```
euibooster clean <egretProjectDir> <egretPublishDir> [ -out <outDir> ]
```


---
_注：若确定使用加速模式运行则可以不再运行euibooster clean命令，仅用于从非稳定版本导致问题后对项目的恢复，同时支持对制定了输出目录的恢复_