成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

foy: 基于 nodejs 的輕量級通用 build 工具

Java_oldboy / 502人閱讀

摘要:的下寫的命令太多就很容易很亂,各種第三方輪子都只能解決一部分問題,總感覺不是很好用,想找個類似的工具只能找到可是的太老,居然很多都不支持代碼也不多,就干脆自己造輪子了感覺效果還行。

npm 的 scripts 下寫的命令太多就很容易很亂,各種第三方輪子都只能解決一部分問題,總感覺不是很好用,想找個類似 make 的工具只能找到 jake, 可是 jake 的 API 太老,居然很多都不支持 promise, 代碼也不多,就干脆自己造輪子了, 感覺效果還行。

項目地址: https://github.com/zaaack/foy

特點:

基于 promise 的任務(wù)和內(nèi)置工具函數(shù)(fs/shell), 無縫支持 async/await

類似于 shelljs 的跨平臺 shell dsl, 人人都會寫 shell

易學(xué)易用,無需為寫僅僅幾個 build 命令而花費幾個小時去尋找和學(xué)習(xí)第三方包

很小的安裝成本

foy:

gulp:

grunt:

無縫和第三方支持 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"`.
})

然后就可以運行任務(wù)了

# 安裝在本地 node_modules 目錄下
npx foy build
npx foy build1
npx foy task 

# 安裝在全局

foy build
foy build1

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/99760.html

相關(guān)文章

  • 構(gòu)建Vue-cli通用項目目錄

    摘要:使用基于依賴追蹤的觀察并且使用異步隊列更新。為項目配置文件。為項目靜態(tài)資源目錄。其實個人感覺通用項目目錄可以很隨意的搭配,比如說之后清空目錄封裝通用組件,像是啊,滑動常用組件。 寫在前面的個人體會,大神們可以跳過 這段時間接手一個后臺管理項目,從最開始寫一點我自己的體會吧。首先Vue,Angular和React是當(dāng)今主流前端三大框架。Vue是一個用來構(gòu)建網(wǎng)頁的JS庫,相比較Angula...

    Winer 評論0 收藏0
  • 全棧開發(fā)自學(xué)路線

    摘要:前言這里筑夢師是一名正在努力學(xué)習(xí)的開發(fā)工程師目前致力于全棧方向的學(xué)習(xí)希望可以和大家一起交流技術(shù)共同進(jìn)步用簡書記錄下自己的學(xué)習(xí)歷程個人學(xué)習(xí)方法分享本文目錄更新說明目錄學(xué)習(xí)方法學(xué)習(xí)態(tài)度全棧開發(fā)學(xué)習(xí)路線很長知識拓展很長在這里收取很多人的建議以后決 前言 這里筑夢師,是一名正在努力學(xué)習(xí)的iOS開發(fā)工程師,目前致力于全棧方向的學(xué)習(xí),希望可以和大家一起交流技術(shù),共同進(jìn)步,用簡書記錄下自己的學(xué)習(xí)歷程...

    galaxy_robot 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<