摘要:的下寫的命令太多就很容易很亂,各種第三方輪子都只能解決一部分問題,總感覺不是很好用,想找個(gè)類似的工具只能找到可是的太老,居然很多都不支持代碼也不多,就干脆自己造輪子了感覺效果還行。
npm 的 scripts 下寫的命令太多就很容易很亂,各種第三方輪子都只能解決一部分問題,總感覺不是很好用,想找個(gè)類似 make 的工具只能找到 jake, 可是 jake 的 API 太老,居然很多都不支持 promise, 代碼也不多,就干脆自己造輪子了, 感覺效果還行。
項(xiàng)目地址: https://github.com/zaaack/foy
特點(diǎn):基于 promise 的任務(wù)和內(nèi)置工具函數(shù)(fs/shell), 無(wú)縫支持 async/await
類似于 shelljs 的跨平臺(tái) shell dsl, 人人都會(huì)寫 shell
易學(xué)易用,無(wú)需為寫僅僅幾個(gè) build 命令而花費(fèi)幾個(gè)小時(shí)去尋找和學(xué)習(xí)第三方包
很小的安裝成本
foy:
gulp:
grunt:
無(wú)縫和第三方支持 promise 的工具包整合,不需要封裝成插件就能用
使用:安裝
yarn add -D foy # or npm i -D foy # Or Install globally with yarn add -g foy # or npm i -g foy
在項(xiàng)目根目錄下增加一個(gè) 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"`. })
然后就可以運(yùn)行任務(wù)了
# 安裝在本地 node_modules 目錄下 npx foy build npx foy build1 npx foy task # 安裝在全局 foy build foy build1
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/99760.html
摘要:使用基于依賴追蹤的觀察并且使用異步隊(duì)列更新。為項(xiàng)目配置文件。為項(xiàng)目靜態(tài)資源目錄。其實(shí)個(gè)人感覺通用項(xiàng)目目錄可以很隨意的搭配,比如說(shuō)之后清空目錄封裝通用組件,像是啊,滑動(dòng)常用組件。 寫在前面的個(gè)人體會(huì),大神們可以跳過 這段時(shí)間接手一個(gè)后臺(tái)管理項(xiàng)目,從最開始寫一點(diǎn)我自己的體會(huì)吧。首先Vue,Angular和React是當(dāng)今主流前端三大框架。Vue是一個(gè)用來(lái)構(gòu)建網(wǎng)頁(yè)的JS庫(kù),相比較Angula...
摘要:前言這里筑夢(mèng)師是一名正在努力學(xué)習(xí)的開發(fā)工程師目前致力于全棧方向的學(xué)習(xí)希望可以和大家一起交流技術(shù)共同進(jìn)步用簡(jiǎn)書記錄下自己的學(xué)習(xí)歷程個(gè)人學(xué)習(xí)方法分享本文目錄更新說(shuō)明目錄學(xué)習(xí)方法學(xué)習(xí)態(tài)度全棧開發(fā)學(xué)習(xí)路線很長(zhǎng)知識(shí)拓展很長(zhǎng)在這里收取很多人的建議以后決 前言 這里筑夢(mèng)師,是一名正在努力學(xué)習(xí)的iOS開發(fā)工程師,目前致力于全棧方向的學(xué)習(xí),希望可以和大家一起交流技術(shù),共同進(jìn)步,用簡(jiǎn)書記錄下自己的學(xué)習(xí)歷程...
閱讀 935·2023-04-26 00:37
閱讀 803·2021-11-24 09:39
閱讀 2236·2021-11-23 09:51
閱讀 3979·2021-11-22 15:24
閱讀 805·2021-10-19 11:46
閱讀 1919·2019-08-30 13:53
閱讀 2510·2019-08-29 17:28
閱讀 1402·2019-08-29 14:11