# 扩展命令

# 扩展命令详解

构建工具tmskit内置了create\dev\build等命令,但这些命令可能无法满足业务需要,本文的扩展命令可以在构建工具上集成其他命令。
例如: 实现upload扩展命令后,就可以使用 tmskit upload

# 如何使用扩展命令

  1. 方式一:全局安装扩展命令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
  1. 方式二:使用本地扩展命令
// 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

# 如何编写扩展命令

  1. 方式一: 编写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
  1. 方式二: 本地的扩展命令
// 本地有tms.config.js commands字段暴露相关命令
module.exports = () => ({
  commands: [{
    command: 'test', // 命令名称
    description: '测试', // 命令描述
    action: () => {console.log('我是test扩展命令')}, // 命令实现
  }],
});
1
2
3
4
5
6
7
8

创建扩展命令时,可直接使用tmskit create <命令名称>初始化扩展命令,进项创建

Last Updated: 8/15/2022, 19:19:13