一、前言
在上一篇文章中,我简单的介绍了基于区块开发的总体思路和配套工具。接下来我会用 2 篇文章来分别介绍命令行工具
和VSCode插件
的具体实现细节。
本系列总共 3 篇文章,以下是传送门:
基于区块开发(一):概述
基于区块开发(二):命令行工具
基于区块开发(三):VSCode插件
二、基础功能
命令行工具的基础功能包含以下几点:
- 列出可选的区块列表
- 通过链接预览效果
- 将选中的区块安装到项目中
列出可选的区块列表并预览
由于区块信息是会动态变化的,所以区块列表必须通过接口获取。数据源方面一切从简,只是在ngnix
后面挂了一个json
文件,区块信息有什么变化就直接修改文件。
获取到区块信息后,就要考虑如何在命令行展现了。由于操作过程中涉及到一系列交互,一番调研后决定使用 Inquirer.js。单单有列表还不够,用户还需要去预览区块的效果,这里用到了 terminal-link 这个工具。
为了使展现效果更生动,使用 chalk 来添加字体颜色,
最终的展现效果如下:
关键代码如下:
代码语言:javascript复制const blockArray = blocks.map((block) => {
const { name, value, preview } = block;
const link = terminalLink("预览", preview);
return {
name: `