# 扩展命令
# 扩展命令详解
构建工具tmskit内置了create\dev\build等命令,但这些命令可能无法满足业务需要,本文的扩展命令可以在构建工具上集成其他命令。
例如: 实现upload扩展命令后,就可以使用 tmskit upload
# 如何使用扩展命令
- 方式一:全局安装扩展命令npm包
// a: 安装tes扩展命令npm包
tmskit install-cmd <扩展命令npm包> // 扩展命令列表https://www.npmjs.com/search?q=tmskit-cmd
eg: tmskit install-cmd @tmsfe/tmskit-cmd-test,
// b: 使用test扩展命令
tmskit test
1
2
3
4
5
6
7
2
3
4
5
6
7
- 方式二:使用本地扩展命令
// a. 本地tms.config.js 配置commands字段
module.exports = () => ({
commands: [{
command: 'test', // 命令名称
description: '测试', // 命令描述
action: () => {console.log('我是test扩展命令')}, // 命令实现
}],
});
// b.使用test扩展命令,指向本地tms.config.js的目录
tmskit test --config=../../tms.config.js
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 如何编写扩展命令
- 方式一: 编写npm包扩展命令
- 发布npm包时,包名必须是
tmskit-cmd-**或@scope/tmskit-cmd-** - 根目录必须有tms.config.js,暴露命令
// tms.config.js
const main = require('./src/main')
module.exports = () => ({
commands: [{
command: 'test',
description: '测试',
action: main,
}],
});
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
- 方式二: 本地的扩展命令
// 本地有tms.config.js commands字段暴露相关命令
module.exports = () => ({
commands: [{
command: 'test', // 命令名称
description: '测试', // 命令描述
action: () => {console.log('我是test扩展命令')}, // 命令实现
}],
});
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
创建扩展命令时,可直接使用tmskit create <命令名称>初始化扩展命令,进项创建
← 编译插件