广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >怎么制作CLI可能用到的轮子
  • 283
分享到

怎么制作CLI可能用到的轮子

2024-04-02 19:04:59 283人浏览 安东尼
摘要

小编给大家分享一下怎么制作CLI可能用到的轮子,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 开始之前先要了解npm的bin用

小编给大家分享一下怎么制作CLI可能用到的轮子,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

开始之前先要了解npm的bin用法。

 "bin": {

   "init": "index.js"

 }

执行npm install -g就在全局安装了init命令,在CMD里就可以执行init。

执行之后,由于在我本机目前默认是由VS Code打开javascript文件,所以效果并不是执行代码(这个问题下文有继续,千万别走开,有个坑)。从上面日志打印可以看出,实际上node.js相当于建立了一个快捷方式,init指向安装到全局模块的该工程的index.js,而init是被加入了到环境变量PATH可以直接执行。

也可以使用npm link直接将index.js链接到PATH里,但先要npm uninstall -g卸载一下,否则会报重复了的错误。

现在正式开始观赏轮子,以下排名不分先后。

command.js

command.js可以和刚才bin生成的全局命令一起配合使用,有一个优势是它居然还有中文文档,虽然E文对我来说不是难事,但是中文的还是读起来快多了。

 const { program } = require("commander");

 program

   .version("0.0.1")

   .arguments("<file>")

   .description('Login Module')

   .option("-u, --username <username>", "The user to authenticate as")

   .option("-p, --passWord <password>", "The user's password")

   .action(function (file) {

     console.log(program.opts());

     console.log(file);

   })

   .parse(process.argv);

一开始使用全局命令不能接受参数而直接使用node.js执行是可以的。

后来找了下,原来主入口文件开头的#! /usr/bin/env node是必须的,加入后变为

 #! /usr/bin/env node 

 const { program } = require("commander");

 program

   .version("0.0.1")

   .arguments("<file>")

   .description("Login Module")

   .option("-u, --username <username>", "The user to authenticate as")

   .option("-p, --password <password>", "The user's password")

   .action(function (file) {

     console.log(program.opts());

     console.log(file);

   })

   .parse(process.argv);

再次执行(有可能需要重新npm [un]install -g或者npm [un]link),这次OK了

arguments里带<>的参数表示是必须的,如果缺失,就不能继续进行。

参数里要定义必填项使用。requiredOption,比如program.requiredOption('-c, --cheese <type>', 'pizza must have cheese');。

commander.js根据参数也自动帮你生成了帮助命令init --help

更详细的用法请参考官方文档。

svg-term-cli

svg-term-cli用来生成ascii码动画的SVG文件。它需要全局安装

 npm install -g svg-term-cli

现在从https://asciinema.org/a/113643上生成SVG动图

 svg-term --cast 113643 --out examples/parrot.svg --window --no-cursor --from=4500

结束后会在examples下生成一个parrot.svg的文件,打开这个文件看看,太浪了

progress

progress用来生成一个等待进度条。

 var ProgressBar = require("progress");

 var bar = new ProgressBar(":bar", { total: 40 });

 var timer = setInterval(function () {

   bar.tick();

   if (bar.complete) {

     console.log("\ncomplete\n");

     clearInterval(timer);

   }

 }, 1000);

生成如下的进度条

我们常见的下载进度展示,就可以用它来实现

ora

对于不确定的进度情况,就可以使用ora了。它就是那种爱的魔力转圈圈的样式。

 const ora = require("ora");

 const spinner = ora("Loading unicorns")。start();

 setTimeout(() => {

   spinner.color = "yellow";

   spinner.text = "Loading rainbows";

 }, 1000);

 setTimeout(() => {

   spinner.fail();

 }, 3000);

以上是“怎么制作CLI可能用到的轮子”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网VUE频道!

--结束END--

本文标题: 怎么制作CLI可能用到的轮子

本文链接: https://www.lsjlt.com/news/89484.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么制作CLI可能用到的轮子
    小编给大家分享一下怎么制作CLI可能用到的轮子,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 开始之前先要了解npm的bin用...
    99+
    2022-10-19
  • 怎么使用Matlab制作简单的粒子圣诞树
    这篇“怎么使用Matlab制作简单的粒子圣诞树”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用Matlab制作简单的粒...
    99+
    2023-07-04
  • 怎么用Jquery和Css3代码制作可以缩放的搜索框
    本篇内容主要讲解“怎么用Jquery和Css3代码制作可以缩放的搜索框”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Jquery和Css3代码制作可以缩放...
    99+
    2022-10-19
  • 索引和缓存在 Java 中的作用是什么?考虑到面试可能会涉及到这些知识点。
    索引和缓存在 Java 中的作用是什么?考虑到面试可能会涉及到这些知识点。 Java 中的索引和缓存是两个非常重要的概念,它们在提高程序性能和减少资源消耗方面起着至关重要的作用。在这篇文章中,我们将深入探讨索引和缓存在 Java 中的作用,...
    99+
    2023-10-29
    索引 缓存 面试
  • 怎么用Python制作一个可以聊天的皮卡丘版桌面宠物
    这篇文章主要介绍了怎么用Python制作一个可以聊天的皮卡丘版桌面宠物,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。开发工具Python版本:3.6.4相关模块:PyQt5模...
    99+
    2023-06-29
  • 轻量应用服务器怎么使用手机控制器的功能键操作
    轻量应用服务器可以通过使用手机控制器中的按键来实现操作。以下是一些常用的手机控制器使用功能键操作: 使用手机控制器上的功能键或按钮:这些按键或按钮可以用于执行许多操作,比如切换应用程序、设置提醒或发送消息等。用户可以通过手机控制器的功能...
    99+
    2023-10-26
    控制器 功能键 操作
  • 手机技巧:被人忽视OTG功能怎么使用?复制文件到U盘的新方法
    手机技巧:被人忽视OTG功能怎么使用?复制文件到U盘的新方法 目前我们所购买的手机大部分都带有OTG功能,那么OTG到底是什么呢?好多人对OTG功能其实都是太过于了解的,那么我们如何正确的使用手机的OTG功...
    99+
    2022-10-18
  • 怎么用Python中的PyQt5制作一个获取网络实时数据NBA数据播报GUI功能
    这篇文章主要讲解了“怎么用Python中的PyQt5制作一个获取网络实时数据NBA数据播报GUI功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python中的PyQt5制作一个获取...
    99+
    2023-06-20
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作