当前位置:网站首页>命令行加载特效 【cli-spinner.js】 实用教程
命令行加载特效 【cli-spinner.js】 实用教程
2022-08-03 08:36:00 【朝阳39】
cli-spinner 官网
https://www.npmjs.com/package/cli-spinner
创建 cli-spinner 的演示项目
- 新建文件夹 cli-spinnerDemo
- 在 cli-spinnerDemo文件夹中打开命令行,执行
npm init -y
会自动生成 package.json
- 安装 cli-spinner
cnpm i cli-spinner
无 cnpm 的朋友先执行 npm i cnpm
- 在package.json中添加项目启动脚本
"start": "node index.js",
- 在 cli-spinnerDemo文件夹中新建文件 index.js 内容为
let Spinner = require("cli-spinner").Spinner;
let spinner = new Spinner("processing.. %s");
spinner.setSpinnerString("|/-\\");
spinner.start();
- 启动项目
npm run start
效果如下
导入 cli-spinner
let Spinner = require("cli-spinner").Spinner;
使用 cli-spinner
自定义加载提示文字
let spinner = new Spinner("加载中.. %s");
配置加载特效
spinner.setSpinnerString("|/-\\");
加载特效通过循环遍历字符串 |/-\\
实现,可以自定义为其他字符串。
启动加载
spinner.start();
停止加载
spinner.stop(true);
有参数 true 时,停止加载后,会清除加载提示文字,若无参数,则会保留加载提示文字
封装延时函数
为了看清加载特效,通常会延时1s左右再关闭加载特效,可使用以下函数实现
function sleep(timeout = 1000) {
return new Promise((resolve) => setTimeout(resolve, timeout));
}
使用方式如下:
let Spinner = require("cli-spinner").Spinner;
let spinner = new Spinner("加载中.. %s");
spinner.setSpinnerString("|/-\\");
(async function () {
// 开启加载特效
spinner.start();
// 延时2s
await sleep(2000);
// 关闭加载特效;
spinner.stop(true);
})();
function sleep(timeout = 1000) {
return new Promise((resolve) => setTimeout(resolve, timeout));
}
完整演示范例
let Spinner = require("cli-spinner").Spinner;
let spinner = new Spinner("加载中.. %s");
spinner.setSpinnerString("|/-\\");
// 开启加载特效
spinner.start();
// 1s后关闭加载特效
setTimeout(() => {
spinner.stop(true);
}, 1000);
更多功能
可参考官网,或留言我来添加哈!
边栏推荐
猜你喜欢
BOM系列之localStorage
10 minutes to get you started chrome (Google) browser plug-in development
Scala parallel collections, parallel concurrency, thread safety issues, ThreadLocal
Redis分布式锁
机器学习(公式推导与代码实现)--sklearn机器学习库
dflow入门2——Slices
【Kaggle实战】泰坦尼克号生存人数预测(从零到提交到Kaggle再到模型的保存与恢复)
热部署系统实现
并发之多把锁和活跃性
Path Prefixes (倍增!树上の二分)
随机推荐
LAN技术-2免费ARP
数据监控平台
timestamp
牛客 - 最佳直播时间 (差分)
WPF 学习笔记《WPF样式基础》
redis stream 实现消息队列
【Kaggle实战】泰坦尼克号生存人数预测(从零到提交到Kaggle再到模型的保存与恢复)
Unity关于编辑器扩展自定义标签,方便扩展Inspector
审批流设计
并发之多把锁和活跃性
How does Mysql query two data tables for the same fields in two tables at the same time
进程信息
Charles抓包工具学习记录
ArcEngine(三)通过MapControl控件实现放大缩小全图漫游
数仓4.0(二)------ 业务数据采集平台
RViz报错: Error subscribing: Unable to load plugin for transport ‘compressed‘解决方法
HCIP练习(OSPF)
MySQL1
110道 MySQL面试题及答案 (持续更新)
【收获合辑】k-NN与检索任务的异同+jupyter转pdf