npm 包 @zkochan/libnpx 使用教程

阅读时长 4 分钟读完

简介

在 Node.js 生态系统中,npm 是一个重要的包管理器,npm 提供了一个命令行工具 npx,用于执行 Node.js 包中的可执行文件。但是 npx 在一些情况下使用不方便,需要输入很长的命令行参数,而那些参数可能是不可见的,或则使用频率较低,或者是太复杂,不容易记忆。Zoltan Kochan 为解决这个问题创建了一个叫做 @zkochan/libnpx 的 npm 包,该包可以帮助我们创建一个缩略词来代替冗长的命令行参数。下面就为大家介绍如何使用该包。

安装

在使用 @zkochan/libnpx 前,需要确保你的机器上已经安装了 Node.js 和 npm。如果没有,可以通过以下两个链接去安装。

安装完成 Node.js 和 npm 后,可以全局安装 @zkochan/libnpx 包,命令如下:

使用

安装完毕后,就可以来试试使用了。下面以常用的 http-server 命令为例。 如果我们想把 http-server 命令简化成一个字母,比如 hs 命令,可以通过如下命令来实现:

这样,当我们在命令行中输入 hs 时,就相当于输入了 http-server 命令。

再次运行 libnpx set hs http-server 命令,就会提示我们 hs 命令已经存在,您是否要覆盖。如果我们想要覆盖,可以加上 -f 参数,如下:

如果我们想删除一个自定义命令,可以使用如下命令:

高阶使用

除了上述的基本用法外,@zkochan/libnpx 还支持一些更高阶的用法。下面就来看一下。

  • 传递参数

使用 libnpx 后,我们可以很方便的传递参数,比如:

其中,-p 表示 port,也就是监听的端口号。这里传递给 hs 命令后,就会默认传递给 http-server 命令,让它监听在 3000 端口上。

  • 嵌套自定义命令

@zkochan/libnpx 允许我们嵌套自定义命令。上面的例子中,我们使用 hs 命令创建了一个叫做 s 的自定义命令,然后又用 s 命令创建了一个叫做 s1 的自定义命令,并且在 s 命令中指定了 -p 参数,监听在 8080 端口上。当我们在命令行中输入 s1 时,就相当于运行了 hs -p 8080 -c 命令,其中 -c 表示读取配置文件。这样,我们就可以很方便地组合和嵌套命令,实现更高级的功能。

  • 批量执行命令

如果我们需要在一次命令中执行多个自定义命令,可以通过 @zkochan/libnpx 的批量执行命令来实现。在 bulk-commands.json 文件中写入以下内容:

上述配置文件中,commands 数组用于存放命令的信息,cmd 用于存放命令行字符串,wait 用于指定是否需要等待上一条命令的执行结果。当我们运行 libnpx -f bulk-commands.json 时,就会顺序执行其中的三个命令:http-server -p 3000,echo 'server started',open http://localhost:3000。

结论

Zoltan Kochan 创建的 @zkochan/libnpx 包可以方便地帮助我们创建自定义命令,在大幅提高我们的开发效率的同时,还提供了嵌套和批量执行等高阶功能,可以帮助我们实现复杂的命令行操作。欢迎大家试着使用该包,提高你的命令行效率。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/110982