Appearance
figlet
简介
figlet 是一个用于生成 ASCII 艺术字的 Node.js 库,它可以将普通文本转换成由 ASCII 字符组成的艺术字体。
安装
bash
npm install figlet基本使用
1. 简单文本转换
javascript
const figlet = require('figlet')
figlet.text('Hello World!', function (err, data) {
if (err) {
console.log('出错了...')
console.dir(err)
return
}
console.log(data)
})2. 使用 Promise
javascript
const figlet = require('figlet')
const util = require('util')
const figletPromise = util.promisify(figlet.text)
async function generateArt(text) {
try {
const result = await figletPromise(text)
console.log(result)
} catch (err) {
console.error('生成失败:', err)
}
}高级特性
1. 使用不同字体
javascript
figlet.text(
'Hello!',
{
font: 'Ghost',
horizontalLayout: 'default',
verticalLayout: 'default',
width: 80,
whitespaceBreak: true,
},
function (err, data) {
if (err) {
console.log('出错了...')
console.dir(err)
return
}
console.log(data)
},
)2. 查看可用字体
javascript
console.log(figlet.fontsSync())3. 同步方式使用
javascript
const result = figlet.textSync('Hello World', {
font: 'Standard',
horizontalLayout: 'default',
verticalLayout: 'default',
})
console.log(result)最佳实践
错误处理
javascriptfunction createAsciiArt(text, font = 'Standard') { try { return figlet.textSync(text, { font }) } catch (err) { console.error('ASCII 艺术字生成失败:', err) return text // 降级返回原始文本 } }字体预加载
javascriptconst fonts = figlet.fontsSync() const font = fonts.includes('Ghost') ? 'Ghost' : 'Standard'自适应宽度
javascriptfunction generateAdaptiveArt(text, maxWidth = process.stdout.columns) { return figlet.textSync(text, { width: maxWidth, whitespaceBreak: true, }) }
注意事项
- 注意输出宽度,避免文字显示不完整
- 某些字体可能不支持非英文字符
- 在 CLI 应用中使用时考虑终端宽度
- 大文本转换可能影响性能
- 某些特殊字符可能导致显示异常