谷歌这个开源项目火了!

2022-12-02 10:29:54 浏览数 (1)

哈喽,大家好!我是前端实验室的小师妹!

根据 github 上的数据,2021年最受欢迎的前端库是谷歌旗下的 ZX库,上线短短一个月就收获了近 22K 的 Star,到目前已经有 31.2K 的 Star,今天我们就来看这个库为啥这么受欢迎!

zx是什么?

zx是谷歌实现的一个能在 node 中写 bash 的库。就像这样:

代码语言:javascript复制
await $`echo "hello world"`;

这个库的最大的便捷在于,node 和标准的 bash 都是我们非常熟悉的东西。

我们可以便捷的使用 JavaScript / TypeScript替代 bash 搭建命令行脚本。该脚本对于掌握前端开发的人员来说,提供了搭建脚手架上的便利。

安装

要求:Node 版本 >= 16.0.0

代码语言:javascript复制
npm i -g zx

基本使用

只需要安装 zx 库,就可以便捷的在项目中使用了。

代码语言:javascript复制
mkdir zx-demo
cd zx-demo
npm init -y
npm install zx --save
touch index.mjs

打开创建的 index.mjs ,输入下面的指令,然后运行 npx zx index.mjs

代码语言:javascript复制
await $`pwd`;
/*
输出
$ pwd
/Users/Rain/Desktop/zx-demo
*/

运行成功。

简单实践

使用命令行新建一个前端的项目并且运行

  1. 编写.mjs文件
  • createVueApp.mjs
代码语言:javascript复制
#!/usr/bin/env zx
await $`vue create vue-demo`
await $`cd vue-demo`
await $`npm run dev`
  1. 运行 .mjs 文件
代码语言:javascript复制
zx createVueApp.mjs 

可以看出,它会自动执行文件里面的脚本,对于一些比较固定的指令,我们可以把它写在文件里面,下次要是有类似操作,只需要跑一下脚本即可。

深入了解

zx 的源码非常的少,两个代码相关的文件加起来总才共五百多行,这还包括了 markdownxml 的解析功能。

它的核心功能代码几乎不到 100 行,而且基本上是对 node 功能的一个封装

zxbash 相关的功能本质上是在 nodechild_process 模块上一个封装。正如库本身声明的那样, 它是一个为了更好编写脚本的工具(A tool for writing better scripts)。

我们可以使用 zx 提供的使用程序函数和库在 Node.js 中创建强大的 Shell 脚本,感兴趣的小伙伴快来尝试下吧~

0 人点赞