使用Gluegun在CLI中执行其他命令行脚本

时间:2019-01-15 15:40:31

标签: command-line-interface

我正在使用Gluegun创建一个节点CLI,该节点CLI在被调用时(革命性的)在您的终端中显示一条随机的狗。

Gluegun使设置和HTTP请求变得非常简单。
commands/random.js中:

module.exports = {
  name: 'random',
  alias: ['rd'],
  run: async toolbox => {
    const { print, system, dogExt } = toolbox

    print.info('Fetching you a dog')

    // Calls the extension that fetches the data
    const dog = await dogExt.getRandomDog()

    // DISPLAY DOG IN TERMINAL HERE WITH URL FETCHED    
  }
}

然后在extensions/dog-extension.js中,我通过dog.ceo API获取数据。

module.exports = toolbox => {
  async function getRandomDog() {
    const api = toolbox.http.create({
      baseURL: 'https://dog.ceo/api'
    })

    const dog = await api.get('/breeds/image/random')

    return dog
  }

  toolbox.dogExt = { getRandomDog }
}

我的问题很简单,在API调用后如何调用负责显示图像的NPM package

我尝试安装该软件包,将其作为插件导入

.plugin('./node_modules', {
   matching: 'terminal-image-*',
   hidden: true
 })

并在我的命令中使用toolbox.system.run调用它,但它总是显示command not found

我可以直接用node调用另一个包吗?

0 个答案:

没有答案