哈喽,大家好!我是前端实验室的小师妹!
根据 github 上的数据,2021年最受欢迎的前端库是谷歌旗下的 ZX
库,上线短短一个月就收获了近 22K 的 Star,到目前已经有 31.2K 的 Star,今天我们就来看这个库为啥这么受欢迎!
zx是什么?
zx
是谷歌实现的一个能在 node
中写 bash
的库。就像这样:
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
。
await $`pwd`;
/*
输出
$ pwd
/Users/Rain/Desktop/zx-demo
*/
运行成功。
简单实践
使用命令行新建一个前端的项目并且运行
- 编写
.mjs
文件
- createVueApp.mjs
#!/usr/bin/env zx
await $`vue create vue-demo`
await $`cd vue-demo`
await $`npm run dev`
- 运行
.mjs
文件
zx createVueApp.mjs
可以看出,它会自动执行文件里面的脚本,对于一些比较固定的指令,我们可以把它写在文件里面,下次要是有类似操作,只需要跑一下脚本即可。
深入了解
zx
的源码非常的少,两个代码相关的文件加起来总才共五百多行,这还包括了 markdown
和 xml
的解析功能。
它的核心功能代码几乎不到 100 行,而且基本上是对 node
功能的一个封装
zx
的 bash
相关的功能本质上是在 node
的 child_process
模块上一个封装。正如库本身声明的那样, 它是一个为了更好编写脚本的工具(A tool for writing better scripts)。
我们可以使用 zx
提供的使用程序函数和库在 Node.js 中创建强大的 Shell 脚本,感兴趣的小伙伴快来尝试下吧~