# 钩子
# 钩子详解
在构建工具执行的生命周期中,在相关时刻暴露对应方法执行。项目可在相关钩子中定制自己的业务逻辑,配置在tms.config.js的hooks字段即可。
# 钩子列表
| 钩子列表 | 详情 | 使用示例 |
|---|---|---|
| beforeFirstCompile | 首次编译之前触发的方法 | hooks: { beforeFirstCompile() {} } |
| afterFirstCompile | 首次编译完成之后触发的方法 | hooks: { afterFirstCompile() {} } |
| updateAppJson | 生成编译app.json后,触发的方法 | hooks: { updateAppJson() {} } |
| updateFile | 源码文件变动后生成编译文件后,触发的方法 | hooks: { updateFile() {} } |
| beforePreview | tmskit run preview 预览码之前的钩子 | hooks: {beforePreview() {}} |
| beforeUpload | tmskit run upload 上传之前的钩子 | hooks: {beforeUpload() {}} |
*beforeFirstCompile参数
| 字段 | 字段类型 | 配置说明 |
|---|---|---|
| isDev | Boolean | 用来判断dev\build命令 |
| tmsConfig | Object | tms.config.js配置的所有配置项 |
| modules | Array | 启动的模块列表 |
| cmdOptions | Object | 用户执行命令传的参数。 例如执行tmskit run dev -env test, cmdOptions数据是 {env: test} |
- afterFirstCompile参数
| 字段 | 字段类型 | 配置说明 |
|---|---|---|
| isDev | Boolean | 用来判断dev\build命令 |
| tmsConfig | Object | tms.config.js配置的所有配置项 |
| modules | Array | 启动的模块列表 |
| cmdOptions | Object | 用户执行命令传的参数。 例如执行tmskit run dev -env test, cmdOptions数据是 {env: test} |
- updateAppJson参数
| 字段 | 字段类型 | 配置说明 |
|---|---|---|
| isDev | Boolean | 用来判断dev\build命令 |
| tmsConfig | Object | tms.config.js配置的所有配置项 |
| modules | Array | 启动的模块列表 |
| appJson | Object | 生成编译后app.json的对象 |
| cmdOptions | Object | 用户执行命令传的参数。 例如执行tmskit run dev -env test, cmdOptions数据是 {env: test} |
- updateFile 参数
| 字段 | 字段类型 | 配置说明 | 其他 |
|---|---|---|---|
| tmsConfig | String | tms.config.js配置的所有配置项 | |
| sourceFile | String | 源码文件所在的目录 | |
| targetFile | String | 编译到哪的文件目录 | |
| cmdOptions | Object | 用户执行命令传的参数。 例如执行tmskit run dev -env test, cmdOptions数据是 {env: test} | |
| type | String | 源码文件变动的类型 | 'add' 添加文件 'change': 文件改变 'unlink': 删除文件 'addDir': 添加文件夹 'unlinkDir': 删除文件夹 |
- beforePreview参数
| 字段 | 字段类型 | 配置说明 |
|---|---|---|
| tmsConfig | Object | tms.config.js配置的所有配置项 |
| cmdOptions | Object | 用户执行命令传的参数。 例如执行tmskit run dev -env test, cmdOptions数据是 {env: test} |
| params | object | 预览的相关参数 https://developers.weixin.qq.com/miniprogram/dev/devtools/ci.html#%E9%A2%84%E8%A7%88 |
- beforeUpload参数
| 字段 | 字段类型 | 配置说明 |
|---|---|---|
| tmsConfig | Object | tms.config.js配置的所有配置项 |
| cmdOptions | Object | 用户执行命令传的参数。 例如执行tmskit run dev -env test, cmdOptions数据是 {env: test} |
| params | object | 上传的相关参数https://developers.weixin.qq.com/miniprogram/dev/devtools/ci.html#%E4%B8%8A%E4%BC%A0 |
编译插件 →