@quick-game/cli
Version:
Command line interface for rapid qg development
110 lines (74 loc) • 3.85 kB
Markdown
# `@quick-game/cli`
> 为开发者提供的联盟快游戏命令行工具
安装 [@quick-game/cli](https://www.npmjs.com/package/@quick-game/cli) 后,便可使用 `qg` 命令。安装方法如下:
```bash
npm install -g @quick-game/cli
```
## 命令行使用
### 1、创建联盟快游戏工程
```
qg init <project-name> [-t <template>] [-c <cwd dir>] [-f]
```
#### 参数
### `project-name`
要创建的联盟快游戏工程的名称。可以为 `.` ,当 `project-name` 为`.`时表示在当前目录创建联盟快游戏工程。
### `-t`
指定创建联盟快游戏工程使用的模板,默认为`default`,表示使用默认的模板。不指定该参数时就使用默认的模板。
> 目前只有`default`模板,所以该参数可以不指定,使用默认值即可
### `-c`
指定创建联盟快游戏工程的目录,不指定该参数时,使用`process.cwd()`也就是当前执行目录来创建,如果指定 了路径,就在指定路径创建。
### `-f`
如果指定的 `project-name` 目录已经存在,会提示用户是 '覆盖' 还是 '合并',指定 -f 或者 --force 可以忽略提示,直接强制覆盖
#### 示例
```
//在当前路径创建名为abc的联盟快游戏工程
qg init abc
//在当前路径创建名为abc的联盟快游戏工程,如果已经存在 abc 则强制覆盖
qg init abc -f
//在当前路径直接创建联盟快游戏工程,假设当前路径为`/usr/name/demoGame/`,联盟快游戏工程名为demoGame
qg init .
// 在 `/usr/name/documents/`路径创建名为abc的联盟快游戏工程
qg init abc -c /usr/name/documents/
// 在 `/usr/name/demoGame/`路径直接创建联盟快游戏工程,即联盟快游戏工程名为 demoGame
qg init . -c /usr/name/demoGame/
```
命令执行后,会在当前目录下创建文件夹,作为项目根目录,这个项目已经包含了项目配置与游戏入口的初始代码,项目根目录主要结构如下:
```
├── sign rpk包签名模块
│ └── debug 调试环境
│ ├── certificate.pem 证书文件
│ └── private.pem 私钥文件
├── src
│ ├── image 图片资源目录
│ │ └── logo.png 游戏图标
│ ├── js 游戏业务逻辑目录
│ | └── main.js 游戏业务逻辑代码
│ ├── game.js 游戏入口js
│ └── manifest.json 项目配置文件,配置游戏图标、包名等
└── package.json 定义项目需要的各种模块及配置信息Copy to clipboardErrorCopied
```
目录的简要说明如下:
- src:项目源文件夹
- sign:签名模块,当前仅有debug签名,**如果内测上线,请添加release文件夹,增加release签名**;**签名生成**:
```js
openssl req -newkey rsa:2048 -nodes -keyout private.pem -x509 -days 3650 -out certificate.pem
```
### 2、构建联盟快游戏RPK包体
#### debug打包
```js
qg build
```
#### release打包
```js
qg release
```
编译打包成功后,项目根目录下会生成文件夹:build、dist:
- build:临时产出,包含编译后的页面js,图片等
- dist:最终产出,包含rpk文件。其实是将build目录下的资源打包压缩为一个文件,后缀名为rpk,这个rpk文件就是项目编译后的最终产出
- 若本地没有release签名,会自动根据本地的包名和配置生成`release签名`,建议cp提前生成好。签名需要保存的其他地方,用于后续更新打包。
### 3、启动调试服务
```js
qg server
```
- 将dist目录下的rpk包体创建http服务,使用快游戏调试器扫码可以进行下载安装rpk包体
- 游戏启动后,会自动打开chrome调试能力