网站首页 > 技术文章 正文
大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。
什么是 voici
A Node.js library for pretty printing your data on the terminal
voici.js(说:/vwasi/)是一个用 TypeScript 编写的开源 Node.js 库,用于在终端上以表格形式精美地显示数据集。
与 console.table() 相比,voici.js 具有许多功能,例如:
- 文本、列和行样式
- 突出显示和过滤
- 动态栏目
- 色谱柱尺寸调整、积累
- 表导出、类型系统
- 支持排序
目前 voici 在 Github 上通过 MIT 协议开源,是一个值得关注的前端项目。
如何使用 voici
首先需要使用所需的包管理器安装 voici.js:
npm i --save voici.js
// yarn
yarn add voici.js
接着可以直接在代码里面导入并使用:
import {Table} from 'voici.js';
const data = [
{firstname: 'Homer', lastname: 'Simpson', age: 39},
{firstname: 'Marge', lastname: 'Simpson', age: 36},
{firstname: 'Bart', lastname: 'Simpson', age: 10},
{firstname: 'Lisa', lastname: 'Simpson', age: 8},
{firstname: 'Maggie', lastname: 'Simpson', age: 1}
];
const table = new Table(data);
table.print();
此时将打印出如下内容:
firstname lastname age
================================
Homer Simpson 39
Marge Simpson 36
Bart Simpson 10
Lisa Simpson 8
Maggie Simpson 1
默认情况下,每列的宽度取决于其包含的值的长度。除了对象之外,开发者还可以在数据集中提供数组。比如下面的例子:
import {Table} from 'voici.js'
const data = [
['Homer', 'Simpson', 39],
['Marge', 'Simpson', 36],
['Bart', 'Simpson', 10],
['Lisa', 'Simpson', 8],
['Maggie', 'Simpson', 1]
];
const table = new Table(data);
table.printPlain();
voici 还支持众多配置,比如:
- 更改表格的文本和背景颜色
const config = {
body: {
bgColor: '#6184D8',
textColor: '#d8b561'
}
};
const table = new Table(data, config);
- 自定义表格的水平和垂直边框。使用 border 选项 color, groupSize , horizontal、vertical 等配置
const config = {
border: {
groupSize: 2,
horizontal: '-',
vertical: '|',
}
};
const table = new Table(data, config);
table.printPlain();
- 按多列和方向对表进行排序。使用 sort 选项提供一系列 columns 和 directions 方向。方向可以是 asc 或 desc。
const config = {
sort: {
columns: ['lastname', 'age'],
directions: ['asc', 'desc']
}
};
const table = new Table(data, config);
更多关于 voici 的用法可以参考文末资料,本文不再过多展开。
参考资料
https://github.com/larswaechter/voici.js
https://voici.larswaechter.dev/examples/arrays
猜你喜欢
- 2025-06-08 前端开发:可重用与灵活性平衡策略
- 2025-06-08 antd 的table分析(antd table fixed)
- 2025-06-08 element-ui实现动态表头的表格问题汇总
- 2025-06-08 【办公神器】ChatExcel:Excel小白的救星,AI聊天自动搞定表格!
- 2025-06-08 「前端干货」别再羡慕别人的页面啦,教你点击直接打开侧边栏
- 2025-06-08 在线表格再添一员猛将excelize,支持 wasm!
- 2025-06-08 前端表格想要极度的丝滑,只有一条路可行!
- 2024-09-29 HTML之CSS表格 html table css
- 2024-09-29 SpreadJS 纯前端表格控件新特性 – 语言包
- 2024-09-29 SpreadJS 纯前端表格控件应用场景:全面预算编制
你 发表评论:
欢迎- 501℃几个Oracle空值处理函数 oracle处理null值的函数
- 497℃Oracle分析函数之Lag和Lead()使用
- 495℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 482℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 478℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 470℃【数据统计分析】详解Oracle分组函数之CUBE
- 454℃Oracle有哪些常见的函数? oracle中常用的函数
- 451℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 最近发表
-
- Directus 火了!无代码 SQL 数据的协作应用利器!
- PHP和NodeJS的代码执行效率比较(php和nodejs的区别)
- 工商银行获得发明专利授权:“基于数据库映射动态接口的前端页面应用开发方法及装置”
- FAISS和Chroma:两种流行的向量数据库的比较
- 什么是数据库的索引?(数据库索引的定义和作用)
- Vercel和Neon“首次”推出用于前端云的无服务器SQL数据库
- 记一次前端逻辑绕过登录到内网挖掘
- 学Access好还是MySQL好?(access与mysql的语句区别)
- 惬意!清晨慢品 HTML canvas 标签题,面试知识轻松 get
- 前端实现知识图谱-force(d3.js)(前端知识树)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)