欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用 JavaScript 構建命令行應用

 更新時間:2021年11月17日 09:46:13   作者:LCTT geekpi  
這篇文章主要介紹了利用 JavaScript 構建命令行應用,下面文章圍繞如何利用JavaScript 構建命令行應用的相關資料炸開詳細內(nèi)容,需要的朋友可以參考一下

前言:

JavaScript 是一種為 Web 開發(fā)的語言,但它的用處已經(jīng)遠遠超出了互聯(lián)網(wǎng)的范疇。由于 Node.js Electron 這樣的項目,JavaScript 既是一種通用的腳本語言,也是一種瀏覽器組件。有專門設計的 JavaScript 庫來構建命令行界面。是的,你可以在你的終端中運行 JavaScript。

現(xiàn)在,當你在終端中輸入一個命令時,一般都有 選項 ,也叫  開關 或  標志 ,你可以用來修改命令的運行方式。這是由  POSIX 規(guī)范 定義的一個有用的慣例,所以作為一個程序員,知道如何檢測和解析這些選項是很有幫助的。要從 JavaScript 獲得此功能,使用旨在簡化構建命令行界面的庫很有用。我最喜歡的是  Commander.js 。它很簡單,很靈活,而且很直觀。

1、安裝 node

要使用 Commander.js 庫,你必須安裝 Node.js 。在 Linux 上,你可以用你的包管理器安裝 Node。例如,在 Fedora、CentOS、Mageia 和其他系統(tǒng)上:

$ sudo dnf install nodejs


Windows macOS 上,我們可以 從nodejs.org 網(wǎng)站下載安裝程序 。

2、安裝 Commander.js

要安裝 Commander.js,請使用 npm 命令:

$ npm install commander

3、 JavaScript 代碼中添加一個庫

JavaScript 中,你可以使用 require 關鍵字在你的代碼中包含(或者導入,如果你習慣于 Python)一個庫。創(chuàng)建一個名為  example.js 的文件,并在你喜歡的文本編輯器中打開它。在頂部添加這一行,以包括 Commander.js 庫:

const { program } = require('commander');


4、JavaScript 中的選項解析

要解析選項,你必須做的第一件事是定義你的應用可以接受的有效選項。Commander.js 庫可以讓你定義短選項和長選項,同時還有一個有用的信息來澄清每個選項的目的。

program
  .description('A sample application to parse options')
  .option('-a, --alpha', 'Alpha')
  .option('-b, --beta <VALUE>', 'Specify a VALUE', 'Foo');

第一個選項,我稱之為 --alpha (簡寫  -a ),是一個布爾型開關:它要么存在,要么不存在。它不需要任何參數(shù)。第二個選項,我稱之為  --beta (簡寫  -b ),接受一個參數(shù),甚至在你沒有提供任何參數(shù)的情況下指定一個默認值。

5、訪問命令行數(shù)據(jù)

當你定義了有效的選項,你就可以使用長的選項名稱來引用這些值:

program.parse();

const options = program.opts();
console.log('Options detected:');

if (options.alpha) console.log('alpha');
 
const beta = !options.beta ? 'no' : options.beta;
console.log('beta is: %s', beta);

6、運行應用

試著用 node 命令來運行它,首先不使用選項:

$ node ./example.js 
Options detected: 
beta is: Foo

在用戶沒有覆蓋的情況下, beta 的默認值被使用。

再次運行它,這次使用選項:

$ node ./example.js --beta hello --alpha
Options detected: 
alpha
beta is: hello

這次,測試腳本成功檢測到了選項 --alpha ,以及用戶提供的  --beta 選項的值。

7、選項解析

下面是完整的演示代碼供你參考:

const { program } = require('commander');

program
  .description('A sample application to parse options')
  .option('-a, --alpha', 'Alpha')
    .option('-b, --beta <VALUE>', 'Specify a VALUE', 'Foo');

program.parse();

const options = program.opts();
console.log('Options detected:');

console.log(typeof options);

if (options.alpha) console.log(' * alpha');
const beta = !options.beta ? 'no' : options.beta;
console.log(' * beta is: %s', beta);

在該項目的 Git 倉庫 中還有更多例子。

對任何應用來說,包括用戶的選項都是一個重要的功能,而 Commander.js 使它很容易做到。除了 Commander.js,還有其他庫,但我覺得這個庫使用起來很方便快捷。你最喜歡的 JavaScript 命令行構建器是什么?

到此這篇關于利用 JavaScript 構建命令行應用的文章就介紹到這了,更多相關 JavaScript 構建命令行應用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 微信小程序 頁面跳轉(zhuǎn)事件綁定的實例詳解

    微信小程序 頁面跳轉(zhuǎn)事件綁定的實例詳解

    這篇文章主要介紹了微信小程序 頁面跳轉(zhuǎn)事件綁定的實例詳解的相關資料,希望通過本文大家能夠理解并應用小程序頁面跳轉(zhuǎn)及事件綁定的實例,需要的朋友可以參考下
    2017-09-09
  • JavaScript前端實現(xiàn)小說分頁功能示例

    JavaScript前端實現(xiàn)小說分頁功能示例

    這篇文章主要為大家介紹了JavaScript前端實現(xiàn)小說分頁功能示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • JS算法題解搜索插入位置方法示例

    JS算法題解搜索插入位置方法示例

    這篇文章主要為大家介紹了JS算法題解搜索插入位置方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • JavaScript流程控制(循環(huán))

    JavaScript流程控制(循環(huán))

    這篇文章主要介紹了JavaScript流程控(循環(huán)),在程序中,一組被重復執(zhí)行的語句被稱之為循環(huán)體,能否繼續(xù)重復執(zhí)行,取決于循環(huán)的終止條件。由循環(huán)體及循環(huán)的終止條件組成的語句,被稱之為循環(huán)語句,更多詳細內(nèi)容請需要的小伙伴參考下面文章的具體介紹
    2021-12-12
  • JavaScript組合繼承詳解

    JavaScript組合繼承詳解

    這篇文章主要介紹了JavaScript組合繼承,下面文章將圍繞了JavaScript組合繼承的相關資料展開詳細內(nèi)容,需要的小伙伴可以參考一下,希望對你有所幫助
    2021-11-11
  • 用 或 || 來兼容FireFox

    用 或 || 來兼容FireFox

    用 或 || 來兼容FireFox...
    2006-06-06
  • JavaScript+HTML實現(xiàn)學生信息管理系統(tǒng)

    JavaScript+HTML實現(xiàn)學生信息管理系統(tǒng)

    這篇文章主要介紹了JavaScript實現(xiàn)學生信息管理系統(tǒng),文中有非常詳細的代碼示例,對正在學習js的小伙伴們有一定的幫助,需要的朋友可以參考下
    2021-04-04
  • TypeScript實用技巧?Nominal?Typing名義類型詳解

    TypeScript實用技巧?Nominal?Typing名義類型詳解

    這篇文章主要為大家介紹了TypeScript實用技巧?Nominal?Typing名義類型詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • canvas?中如何實現(xiàn)物體的框選

    canvas?中如何實現(xiàn)物體的框選

    這篇文章主要為大家介紹了canvas中如何實現(xiàn)物體的框選的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • JavaScript函數(shù)柯里化

    JavaScript函數(shù)柯里化

    這篇文章主要介紹了JavaScript函數(shù)柯里化,柯里化即Currying是把接受多個參數(shù)的函數(shù)變換成接受一個單一參數(shù)函數(shù),并且返回接受余下的參數(shù)且返回結果的新函數(shù)的技術,下面文章詳細內(nèi)容,需要的朋友可以參考一下
    2021-11-11

最新評論