<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      自定義腳手架(cli)工具

      前言

      腳手架工具 vue 有 vue-cli,react 有 create-react-app,根據選擇項來生成新項目模板。但往往這些不夠定制化,生成項目之后還需要添加很多配置,離生成即用還有一定的差距,可以通過定制自己的cli工具來進行處理,做一個簡單的cli工具,集成自己預設的模板,根據模板來生成,后續只需維護模板的添加和更新。

      package.json

      因為是cli工具,需要可以在命令行中執行命令,所以在package.json需要聲明
      主要的字段是bin,可執行文件,如下即聲明:sum 為可執行命令,并且去執行 src/index.js

      "bin": {
        "sum": "src/index.js"
      },
      

      可執行文件

      src/index.js里加入,表示是可執行文件

      #!/usr/bin/env node
      

      cli相關各種工具庫介紹

      commander

      commander 的主要作用是命令行帶參數,例如

      sum init -l 
      # or
      sum init --local
      

      代碼如下:sum -v 或者 sum --version就會打印出當前cli的版本,加參數可以通過對接受參數進行定義區分實現相應的功能

      program
          .version(pkg.version, '-v, --version')
          .usage('<command> [options]')
          .description('Standard tooling generate dir from templates')
      
      program
          .command('init [name]')
          .description('Create a project')
          .option('-l, --local', 'Create dir from local template')
          .option('-g, --git', 'Create dir from git address')
          .action((name, options) => {
              console.log(name, options.local, options.git)
          })
      

      inquirer

      inquirer 的主要作用是詢問,有input 輸入框輸入,number 數字輸入,confirm yes/no確認,list/rawlist 列表選擇(單選),expand展開,checkbox多選,password密碼輸入,editor在臨時文件上啟動用戶首選編輯器的實例。

      type: (String) Type of the prompt. Defaults: input - Possible values: input, number, confirm, list, rawlist, expand, checkbox, password, editor

      詢問用戶的選擇,根據用戶選擇執行不同操作,生成不同的模板

      ora

      相當于命令行終端中的進度條,用它來表示動作的開始和結束,加載中等狀態

      chalk

      chalk 即粉筆,在命令行終端中輸出彩色的文字

      update-notifier

      更新通知程序,工具包有更新的話提示

      const updateNotifier = require('update-notifier');
      const pkg = require('./package.json');
      
      updateNotifier({pkg}).notify();
      

      sum-cli 功能示例

      幾個最新的初始化預設模板可用,eslint、prettier、husky、commitlint、vue-router/react-router-dom、axios等等都已預設

      安裝

      sum-cli npm包地址

      npm i -g sum-cli
      # or
      yarn global add sum-cli
      

      npx 使用

      npx sum init <project-name>
      

      查看版本

      sum -v
      # or 
      sum --version
      

      查看幫助

      sum -h
      # or 
      sum --help
      

      1. 從預設模板中拉取生成項目

      sum init <project-name>
      

      2. 從git下載模板生成項目

      sum init -g <project-name>
      # or
      sum init --git <project-name>
      

      3. 從本地文件夾下載生成項目

      sum init -l <project-name>
      # or
      sum init --local <project-name>
      

      sum-cli代碼地址

      posted @ 2021-06-02 19:46  c-137Summer  閱讀(741)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 欧美日本在线| 国产精品99久久久久久www| 真人无码作爱免费视频| 丁香婷婷综合激情五月色| 在线播放国产精品三级网| 大地资源中文第二页日本| 四虎影视永久在线精品| av色蜜桃一区二区三区| 国产又黄又爽又刺激的免费网址| 国产日韩精品中文字幕| 中文日产幕无线码一区中文| 亚洲日韩国产精品第一页一区| 桃花岛亚洲成在人线AV| 久久精品国产一区二区三| 精品久久人人做爽综合| 免费A级毛片无码A∨蜜芽试看| 亚洲综合久久精品国产高清| 欧美视频在线播放观看免费福利资源| 国产午夜亚洲精品国产成人| 国产一区二区三区尤物视频| 国产激情无码一区二区三区| 欧美人与性囗牲恔配| 麻豆国产AV剧情偷闻女邻居内裤| 不卡乱辈伦在线看中文字幕| 蜜桃一区二区三区免费看| 欧美videos粗暴| 四虎成人精品在永久免费| 精品不卡一区二区三区| 金乡县| 麻豆久久久9性大片| 成人亚洲av免费在线| 先锋影音av最新资源| 国产精品露脸视频观看| 亚洲一区二区经典在线播放| 男女啪啪高潮激烈免费版 | а∨天堂一区中文字幕| 精品福利一区二区三区免费视频| 国产一区二区三区在线观看免费| 修文县| 部精品久久久久久久久| 亚洲AV无码国产在丝袜APP|