Я использую Gluegun для создания 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 }
}
Мой вопрос довольно прост, как я могу назвать пакет NPM , который заботится о отображении изображения после вызова API?
Я пытался установить пакет, импортируя его как плагин, например
.plugin('./node_modules', {
matching: 'terminal-image-*',
hidden: true
})
И вызывая его в моей команде с toolbox.system.run
, но он всегда говорит command not found
.
Можно ли напрямую вызвать другой пакет с узлом?