30秒創建腳手架的腳手架

2022-01-30 前端印象

背景

大家好,我是零一。前端很多 cli 工具,比如著名的 vue-cli,這些工具大多數都是作用於快速創建對應框架的模版代碼,讓開發者可以不用從0開始配置項目,可以專注於項目本身的業務邏輯開發,從而快速創建項目。

然而,這樣的步驟走下來,雖然形成了一個 cli 工具,但是創建 cli 項目本身的過程,還是挺繁瑣的。後來我發現有個 oclif框架,就是相當於是創建命令行工具項目的模版代碼的一個腳手架,非常好用,給大家推薦一下。下面詳細說一下使用過程。

cli 類型

oclif 有2種 cli 類型,單個命令模式和多個命令模式。單個 cli 命令,例如 ls 、cat,它可以接收參數和標誌符,單個命令的 cli 可以是一個單文件。它的文件目錄結構為:

package.json
src/
└── index.ts

多個 cli 命令,例如 git,它還有子命令,而它的子命令本身就是單個的 cli 。它在 package.json 有個 oclif.commands 的欄位,指向一個包含所有命令的目錄。

package.json
  "oclif": {
    "commands": "./lib/commands",
  }

src/
└── commands/
    ├── create.ts
    └── destroy.ts

簡言之,就是創建的命令行項目可以是單個命令的或多個命令的。

使用
// 建議全局安裝
npm i oclif -g

執行npx oclif multi testMul,創建一個多命令的項目:

得到項目後,執行對應的腳本命令,初始化時得到的是 hello 命令,因此執行 ./bin/run hello:

這樣,就跑起來啦。其中的run方法就是對應腳本的入口,你的腳本邏輯就可以直接在run方法中調用了。

調試

全局使用當你想在其他項目中測試腳本時,可以使用npm link,然後就可以直接用 cli 的名字要執行對應的腳本啦,例如本例中的 testMul hello!

import {Command, flags} from '@oclif/command'

export default class Hello extends Command {
  static description = 'describe the command here'

  static examples = [
    `$ testMul hello
hello world from ./src/hello.ts!
`,
  ]

  static flags = {
    help: flags.help({char: 'h'}),
    // flag with a value (-n, --name=VALUE)
    name: flags.string({char: 'n', description: 'name to print'}),
    // flag with no value (-f, --force)
    force: flags.boolean({char: 'f'}),
  }

  static args = [{name: 'file'}]

  async run() {
    this.log('---run 方法就是執行入口---')
    const {args, flags} = this.parse(Hello)
    const name = flags.name ?? 'world'
    this.log(`hello ${name} from ./src/commands/hello.ts`)
    if (args.file && flags.force) {
      this.log(`you input --force and --file: ${args.file}`)
    }
  }
}

其中,有靜態屬性description,examples,flags,args,解釋一下其中的含義:

description:描述當前腳本的作用、用法等。什麼時候能看到這個描述呢,就是運行命令testMul--help的時候。examples:它是一個數組,你可以把怎麼使用這個命令的例子寫在這裡。flags:它是一個字符串,這條命令的基本使用,可以填寫一條常用的命令在這裡。oclif 框架功能特性參數解析,沒有參數解析的 cli 工具是不完整的,oclif 構建了一個自定義參數的CLI,通過簡單的寫法定義和參數,靈活處理用戶輸入,以至用戶能夠以他們期望的方式使用。性能好, 運行 oclif cli 命令的開銷幾乎沒有。此外,只有僅需要執行的命令被node加載。因此,包含許多命令的大型CLI將與使用單個命令的小型CLI一樣快地加載。cli 模版生成器, 快速初始化一個命令行項目模版,快速進行開發。單元測試方便,生成器將自動創建腳手架測試使命令更易於測試和模擬 stdout/stderr。自動文檔,默認情況下,您可以傳遞--help給CLI以獲取幫助,例如標誌選項和參數信息。每當發布CLI的npm軟體包時,此信息也將自動放置在README.md中。插件,使用插件,CLI的用戶可以使用新功能對其進行擴展,CLI可以拆分為模塊化組件,並且可以在多個CLI之間共享功能。鉤子,使用生命周期掛鈎可在CLI啟動時或在自定義觸發器上運行功能。每當需要在CLI的各個組件之間共享自定義功能時,可以使用。TypeScript,支持TS,在初始化項目的時候可以選擇JS或者TS,oclif的框架內部代碼也是使用TS。常用命令oclif single <NAME>:在當前目錄中創建一個單命令項目oclif multi <NAME>:在當前目錄中創建一個多命令項目oclif command <NAME>:添加一條命令oclif hook <NAME> --event=<hook>:新建一個鉤子oclif plugin <pluginName>:新建一個插件參考文檔https://oclif.io/docs/introductionhttps://github.com/oclif/oclif

我是零一,分享技術,不止前端,下期見~

最後,歡迎加我的微信,拉你進上百人的前端交流群

創作不易,加個點讚、在看 支持一下哦!

相關焦點

  • 腳手架租賃的好處及使用腳手架的作用
    腳手架是我們的建築,裝修,將使用的對象,腳手架是保證每個施工過程的順利進行和搭建工作平臺。按安裝位置可分為外腳手架和內腳手架,按材料不同可分為木腳手架、竹腳手架和鋼管腳手架。按結構形式分為垂直腳手架、橋式腳手架、門式腳手架、懸掛式腳手架、吊裝腳手架和爬升腳手架。
  • 腳手架建築的分類
    【學員問題】腳手架建築的分類?  【解答】1、是否可移動:分為移動和固定兩種;  2、材料:分為木質、鋼質和軟梯;  3、塔接形式和使用用途:  ①模板支架-用於支撐模板,採用腳手架材料搭設的架子  ②單排腳手架-簡稱單排架,即只有一排立杆,橫向水平杆的一端擱置在牆體上的一種腳手架  ③雙排腳手架-簡稱雙排架,即由內外兩排立杆和水平杆等構成的腳手架
  • 《我的世界》腳手架怎麼製作 腳手架製作方法介紹
    導 讀 【九遊攻略】我的世界腳手架如何製作?
  • 工地上最常見的腳手架之一,碗扣式鋼管腳手架知識匯總
    碗扣式鋼管腳手架全稱為WDJ碗扣型多功能腳手架,這種腳手架的核心部件是碗口接頭,它是由焊在立杆上的下碗扣,可滑動的上碗扣,上碗扣的限位銷和焊在橫杆上的接頭組成,見圖2-10 。3.橫杆組成框架的橫向連接杆件,由一定長度的 φ48 ×3.5mmA3 鋼管兩端焊接橫杆接頭製成,有2.40m (HG-240)、1.80m (HG-180)、1.50m (HG-150)、1.20m (HG-120)、0.90m (HG-90)、0.60m (HG-60)、0.30m (HG-30)7 種規格。
  • 組價時,綜合腳手架和單項腳手架差別在哪裡?
    原創作者:胡躍綜合腳手架和單項腳手架一樣嗎?不一樣,單項腳手架屬於技術措施費,但綜合腳手架界定為組織措施費更合適。首先回顧下綜合腳手架的基本知識:為什麼把綜合腳手架定義為組織措施費?而與吊頂腳手架不同,綜合腳手架是以建築面積為基數,無法準確計算1-3層每一層腳手架的成本費用。所以,測算綜合腳手架成本的方法不應該是套定額獲得,而是以實際工程項目的特點為依據計算相關綜合腳手架費用。
  • 腳手架的前世今生
    將隨瓦作搭砌磚牆用的腳手架稱為"砌牆腳手架子";隨大木作的腳手架稱為"豎立大木架子";在屋面上鋪的防滑扶持欄杆,用於調脊和捉節夾壟的腳手架稱為"搭持杆"等等。 扣件式鋼管腳手架以加工簡便,搬運方便,通用性強等優點,已成為當前我國應用最普遍的一種腳手架。這種腳手架施工工效低,最大搭設高度規定為33m,不能滿足高層建築施工需要。
  • 今日說說建築腳手架工程
    腳手架工程作為項目的措施工程,在項目中並不產生實體構築物。作為一個輔助性施工分項工程,在項目建設過程中的作用及重要性是不可替代的。在不同的項目中,腳手架的作用及工藝均是不盡相同的,但是腳手架工程有著通用的一整套施工規範及技術要求。
  • 腳手架專題一:落地式腳手架工程施工安全注意事項
    建築安全生產 有料丨有用丨有乾貨 關注 落地式外腳手架是建築外側沿地面搭設的腳手架,在施工中最常見的是鋼管腳手架,搭設時應注意以下安全注意事項:
  • 建築懸挑腳手架計算實例,一篇文章讓你學會懸挑腳手架計算
    一、懸挑腳手架計算1.高度要求:當腳手架搭設高度超過50米時,採用明確卸載裝置時,自距離地面一定高度處開始採取明確卸載裝置,也就是懸挑形式。懸挑高度一般不宜超過40米。2.懸挑腳手架上面結構同落地式腳手架,在施工現場還是要對連牆件的設置引起高度的重視。
  • 腳手架配件介紹及搭設規範
    (4)對腳手架進行的設計計算必須符合腳手架規範的有關規定,並經企業技術負責人審批。3、腳手架的施工方案應與施工現場搭設的腳手架類型相符,當現場固故改變腳手架類型時,必須重新修改腳手架方案並經審批後,方可施工。
  • 「乾貨」VUE腳手架使用教程
    ,VUE的腳手架在英文中叫做(VUE-CLI)要記得哈,不然面試就去了喲,好的,接下來我們就來了解下VUE腳手架的使用吧,在這之前我們需要先安裝一些軟體才可以喲,HBuilder已經陣亡了,不能搭建VUE腳手架這個框架了...
  • 在預算定額中,怎麼使用鋼管腳手架和竹建腳手架套用定額
    【學員問題】:在房屋修繕工程預算定額中,使用鋼管腳手架和竹建腳手架如何套用定額?  【解答】:在套用腳手架定額時,應注意腳手架搭設的標準(柱距),腳手架的柱距分1.7米和1.5米。一般外牆裝飾工程使用腳手架,即非承重腳手架,其腳手架搭設的柱距為1.7米。
  • 今年腳手架事故頻發,這份腳手架搭設標準規範值得收藏!
    近來,我國各地連續發生的多起腳手架高處墜落、物體打擊、觸電、架體垮塌等事故不斷刺痛著人們的神經。承載著工人生命安全的腳手架變成了「絞首架」。因此,我們要深入了解如何搭建一個合格的腳手架,這樣才是保證高空作業人員生命安全行之有效的方法。通過以下腳手架安全管理和提升人員技能水平,全面掌握腳手架知識。
  • 腳手架安全防護設施
    1.安全密目網:腳手架要滿掛全封閉式密目安全網。密目網採用1.8×6.0m的規格,用網繩綁紮在大橫杆外立杆裡側。作業層網應高於平臺1.2m,並在作業層下步架處設一道水平兜網。需要時施工層應設隨層網。作業層腳手架立杆於0.25m及1.2m處設有擋腳杆和防護欄杆。
  • 盤扣時代來臨:限制使用扣件和碗扣式腳手架,改用盤扣式腳手架
    隨著新型腳手架的出現,國家開始強烈要求禁用傳統腳手架,大力推廣新型腳手架,在一些大型或者特殊的工程項目,國家甚至強行要求使用新型盤扣腳手架。交通運輸部等兩部門發文,推薦盤扣式腳手架!!交通運輸部應急管理部2020年10月30日公路水運工程淘汰危及生產安全施工的腳手架1.竹(木)腳手架採用竹(木)材料搭設的腳手架
  • 鋁合金腳手架款式匯總
    鋁合金腳手架簡述鋁合金腳手架採用輕便堅固的鋁合金材料製作而成,整體結構採用積木式組合設計,部件標準化無散件;由於鋁合金腳手架自由組合性能好,安全穩固,重量輕巧,拆裝快捷,運輸方便,機動靈活性高等優勢特點逐漸成為高空作業的理想選擇。
  • 新疆架子管腳手架出租公司_北京恆欣偉業
    新疆架子管腳手架出租公司,北京恆欣偉業,公司於2013年成立,經營傳統鋼管租賃,並於2016成功實現轉型升級,主要從事盤扣式腳手架租賃、銷售、方案設計、模架支撐承包於一體的綜合性企業。
  • 爬架與懸挑腳手架、落地雙排腳手架對比,哪個優勢更全面?
    傳統腳手架因耗時、耗工、耗材、安全無保障及經濟性等原因,使用率在建築施工中逐漸降低,在高層、超高層建築中,懸挑腳手架、落地式雙排腳手架和附著式升降腳手架對比,附著式升降腳手架成為了首選,它綜合了挑、吊、掛等多種類型腳手架的優點,不用反覆塔拆,節約了時間成本。
  • react腳手架create-react-app入門
    記得關注,每天都在分享不同知識不管是哪個前端框架都支持快速開發,通過腳手架可以讓咱們更便捷的構建項目,無需考慮搭建環境問題,今天來聊聊create-react-app腳手架安裝腳手架>npm install -g create-react-app創建項目create-react-app myapp # myapp是項目的名稱,這樣就會在當前目錄生成一個myapp的項目
  • 滁州腳手架批發廠家_聯繫焊陽管材
    安徽焊陽管材科技有限公司表明:滁州腳手架批發廠家_聯繫焊陽管材,下面小編來給大家詳細介紹一下腳手架批發。  一、1994年提出要在建築施工行業推廣新型腳手架;二、1998年發文要求提高新型模板、腳手架應用比例,要求到2005年新型腳手架數量達到總擁有量的30%;三、2017年,《建築業10項新技術》提出,升級,優化基礎性技術,著重推廣同時包含60系列重型支撐和48系列輕型支撐的盤扣式腳手架,貫徹上級要求。