foy: 轻量级的基于 nodejs 的通用 build 工具
npm 的 scripts 下写的命令太多就很容易很乱,各种第三方轮子都只能解决一部分问题,总感觉不是很好用,想找个类似 make 的工具只能找到 jake, 可是 jake 的 API 太老,居然很多都不支持 promise, 代码也不多,就干脆自己造轮子了, 感觉效果还行。
项目地址: https://github.com/zaaack/foy gitee 地址: https://gitee.com/zane_young/foy
特点:
- 基于 promise 的任务和内置工具函数(fs/shell), 无缝支持 async/await
- 类似于 shelljs 的跨平台 shell dsl, 人人都会写 shell
- 易学易用,无需为写仅仅几个 build 命令而花费几个小时去寻找和学习第三方包
- 很小的安装成本
- 无缝和第三方支持 promise 的工具包整合,不需要封装成插件就能用
使用:
安装
yarn add -D foy # or npm i -D foy # Or Install globally with yarn add -g foy # or npm i -g foy
在项目根目录下增加一个 Foyfile.js (或者 Foyfile.ts, 需要安装 ts-node)
import { task, desc, option, strict, fs } from 'foy' task('build', async ctx => { await ctx.exec('tsc') }) desc('Build ts files with tsc') option('-w, --watch', 'watch file changes') strict() // This will throw an error if you passed some options that doesn't defined via `option()` task('build2', async ctx => { await ctx.exec(`tsc ${ctx.options.watch ? '-w' : ''}`) }) task('task', async ctx => { await fs.rmrf('/some/dir/or/file') // Remove directory or file await fs.copy('/src', '/dist') // Copy folder or file let json = await fs.readJson('./xx.json') await ctx.env('NODE_ENV', 'production') await ctx.cd('./src') await ctx.exec('some command') // Execute an command let { stdout } = await ctx.exec('ls', { stdio: 'pipe' }) // Get the stdout, default is empty because it's redirected to current process via `stdio: 'inherit'`. })
然后就可以运行任务了
# 安装在本地 node_modules 目录下 npx foy build npx foy build1 npx foy task # 安装在全局 foy build foy build1
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
FIX协议介绍
定义 FIX协议是由国际FIX协会组织提供的一个开放式协议,目的是推动国际贸易电子化的进程,在各类参与者之间,包括投资经理、经纪人,买方、卖方建立起实时的电子化通讯协议。FIX协议的目标是把各类证券金融业务需求流程格式化,使之成为一个个可用计算机语言描述的功能流程,并在每个业务功能接口上统一交换格式,方便各个功能模块的连接。 协议工作原理 通信模型及基本概念 通信模型 Initiator:发起者,建立通信连路,通过发送初始Logon消息发起会话的参与方。 Acceptor:接收方 FIX会话的接收方。负责执行第一层次的认证和通过传输Logon消息的确认正式声明连接请求被接受。 原则:先发起者为Initiator,接受者为Acceptor。 标准模式以网关为Acceptor,客户端为Initiator做为常用模式。 Fix connection FIX连接 由3部分组成:logon登录,message exchange消息传输,logout注销。 logon登录 logout注销 Fix session FIX会话由一个或多个FIX Connection FIX连接组成。一个FIX会话可...
- 下一篇
EOS区块链PHP开发包
1. 开发包概述 EosTool的目的是消除使用PHP开发EOS区块链应用的痛苦,例如: 通过Nodeos和Keosd的RPC接口调用其功能 离线生成EOS格式的私钥和公钥 使用本地私钥生成符合EOS要求的交易签名 将交易对象序列化为Nodeos要求的packed_trx格式 可以认为EosTool是PHP版本的eosjs,利用它可以完整地实现EOS官方客户端Cleos的功能, 也可以很方便地在PHP应用中增加对EOS区块链的支持能力,极大地提高开发效率。 有兴趣的朋友也可以直接访问这里,本文内容即转自该博客:EOS区块链PHP开发包 EosTool运行在**Php 7.1+**环境下,当前版本1.0.0,主要代码文件清单如下: 代码文件 说明 eostool/src/client/NodeClient.php 节点软件nodeos的rpc接口封装类 eostool/src/client/WalletClient.php 钱包软件keosd的rpc接口封装类 eostool/src/client/RpcOutput.php RPC返回结果封装类 eostool/src/Crypto/P...
相关文章
文章评论
共有0条评论来说两句吧...