91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

node.js學習之自己編寫命令行工具CLI

發布時間:2020-06-28 08:39:28 來源:網絡 閱讀:1182 作者:lixiaoyu1223 欄目:web開發

之前從來沒接觸過這類的課題,自己寫命令行工具,沒寫過之前覺得這是一個很高大上的玩意兒,寫過之后才發現原來不難。寫之前當然是先在網上扒拉扒拉,看看別人怎么寫的,結果找來找去,千篇一律,一個字也不帶換的,還都是從npm倉庫中復制下來的,還復制的不全,我已無力吐嘈!!!!

最后還是在NPM倉庫中找到一段比較符合自己的介紹,就是自定義命令,下面就按照我的代碼記錄一下我是怎么寫的。

首先創建項目,alaska-cli,編輯package.json,加入babel等就不細說了,目錄結構如下:

alaska-cli

-index.js

-src

--alaska-build.js


本項目依賴commander包,這是一個非常方便簡單的開發自己的CLI命令的包。


先看index.js:

'use strict';
const program = require('commander');
const buildAdmin = require('./src/alaska-build');
program
  .version('0.1.0')
  .command('alaska-build')
  .alias('build')
  .description('build admin views')
  .action(buildAdmin);

program.parse(process.argv);

導入commander, 導入CLI命令背后要執行的函數文件。

使用commander創建命令:

  .version('0.1.0')

命令版本,這個沒什么好說的。

  .command('alaska-build')

命令名字,就是以后可以直接在命令窗口使用的名字,像webpack babel等。

  .alias('build')

命令的別名,就像小名一樣,一般是個短名字。

  .description('build admin views')

命令介紹,生辰八字什么的可以寫到這,

    .action(buildAdmin);

執行命令時要調用的函數,

program.parse(process.argv);

開始解析命令。

到這已經差不多了,我要說現在收尾你信么,不管你信不信,反正我是信了,剩下的就是寫這個命令要怎么做事了。

看alaska-build.js:

/**
 * 所有讀取文件時的錯誤處理
 * */
function excludeError(err, files) {
  if (err) {
    console.log(err);
  } else {
    if (typeof files === 'object' && files.length > 0) {
      collection(files);
    } else {
      console.log('未找到要構建的文件!');
    }
  }
}
module.exports = function () {
  fs.readdir(path, excludeError);
};

這一段不用說了吧,就是讀取一個目錄下的所有文件,從每個文件里導出一些數據組合再輸出到另一個目錄下。

寫完這些邏輯,這個項目基本上已經完了,把項目上傳到NPM倉庫,在其他項目里就可以用 npm install

來安裝這個包,之后就能像webpack babael 這類的命令一樣直接用了。


github :  https://github.com/maichong/alaska-cli.git

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阜南县| 峨眉山市| 温州市| 且末县| 高阳县| 墨江| 连平县| 安龙县| 大姚县| 双鸭山市| 新乐市| 南宁市| 浦江县| 亚东县| 淮南市| 色达县| 班戈县| 和林格尔县| 桐城市| 南阳市| 白河县| 哈尔滨市| 乐陵市| 郴州市| 丹阳市| 宿松县| 南阳市| 上蔡县| 中山市| 溧阳市| 淮安市| 南投市| 独山县| 新余市| 肇源县| 宣化县| 汝城县| 长兴县| 成都市| 海伦市| 政和县|