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

詳解如何使用Node.js編寫命令工具——以vue-cli為例

 更新時間:2017年06月29日 09:48:16   作者:Young Dreamer  
本篇文章主要介紹了如何使用Node.js編寫命令工具——以vue-cli為例,具有一定的參考價值,感興趣的小伙伴們可以參考一下

vue-cli全局安裝之后,提供了vue命令和vue init、vue list、vue build三個子命令,通過命令可以搭建基于vue.js的腳手架項目。本文簡單介紹一下這些命令是如何實現的。

vue-cli的項目目錄

如下圖,由之前文章介紹,npm安裝過程中,可以利用package.json中bin字段的配置,將bin目錄下的命令文件軟連到全局命令。也就是說在/usr/local/bin下生成了四個軟連命令:vue、vue-build、vue-list、vue-init。

 

vue命令的源碼

#!/usr/bin/env node

 

require('commander')

 .version(require('../package').version)

 .usage('<command> [options]')

 .command('init', 'generate a new project from a template')

 .command('list', 'list available official templates')

 .command('build', 'prototype a new project')

 .parse(process.argv) 

 該命令采用commander.js來實現。commander的主要方法:

(1)parse:用于解析process.argv,將process.argv.slice(2)賦值給program.args;

(2)command:創(chuàng)建子命令,子命令的使用方法是command <subcommand> [options],實際調用的命令是command-subcommand,如使用命令行執(zhí)行vue list,其實是在執(zhí)行vue-list全局命令;

(3)options:主要設置命令的參數,同時提供參數對應的說明文檔,默認提供的option是--help。

vue-init子命令的實現

vue-init的主要功能是拉取指定git目錄下的項目模板文件(官方或自制)到指定目錄下,用法如下

$ vue init <template-name> <project-name> 

這里仍需要解析process.argv,所以在vue-init中又引入了commander.js,生成了一個program

program

  .usage('<template-name> [project-name]')

  .option('--offline', 'use cached template')

 

/**

 * Help.

 */

 

function help () {

  program.parse(process.argv)

  if (program.args.length < 1) return program.help()

}

help() 

接下來就是要實現拉取模板文件,經處理后,放置到產出目錄下,具體如何實現的,接下來會有專門的文章介紹vue-cli命令的實現原理,敬請期待!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Node.js學習之查詢字符串解析querystring詳解

    Node.js學習之查詢字符串解析querystring詳解

    這篇文章主要給大家介紹了關于Node.js查詢字符串解析querystring的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用node.js具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-09-09
  • Windows7系統(tǒng)下如何安裝nodejs16以上版本

    Windows7系統(tǒng)下如何安裝nodejs16以上版本

    這篇文章主要給大家介紹了關于Windows7系統(tǒng)下如何安裝nodejs16以上版本的相關資料,很多時候node.js的版本存在兼容,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • 利用n 升級工具升級Node.js版本及在mac環(huán)境下的坑

    利用n 升級工具升級Node.js版本及在mac環(huán)境下的坑

    這篇文章主要介紹了利用n 升級工具升級Node.js的方法,以及通過網友的測試發(fā)現在mac環(huán)境下利用n工具升級不成功導致node.js不可用的解決方法,有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • node腳本實現自動化簽到和抽獎功能

    node腳本實現自動化簽到和抽獎功能

    本文主要介紹了node腳本實現自動化簽到和抽獎功能,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Nodejs 模塊化實現示例深入探究

    Nodejs 模塊化實現示例深入探究

    這篇文章主要為大家介紹了Nodejs 模塊化實現示例深入探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • nodejs nedb 封裝庫與使用方法示例

    nodejs nedb 封裝庫與使用方法示例

    這篇文章主要介紹了nodejs nedb 封裝庫與使用方法,結合實例形式分析了nodejs nedb.js封裝庫的定義與使用技巧,需要的朋友可以參考下
    2020-02-02
  • node.js中的fs.write方法使用說明

    node.js中的fs.write方法使用說明

    這篇文章主要介紹了node.js中的fs.write方法使用說明,本文介紹了fs.write的方法說明、語法、接收參數、使用實例和實現源碼,需要的朋友可以參考下
    2014-12-12
  • Node.js之readline模塊的使用詳解

    Node.js之readline模塊的使用詳解

    這篇文章主要介紹了Node.js之readline模塊的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • node.js中的url.resolve方法使用說明

    node.js中的url.resolve方法使用說明

    這篇文章主要介紹了node.js中的url.resolve方法使用說明,本文介紹了url.resolve的方法說明、語法、接收參數、使用實例和實現源碼,需要的朋友可以參考下
    2014-12-12
  • Node.js使用定時器的三種方法

    Node.js使用定時器的三種方法

    在Node.js中使用定時器是一項常見且重要的任務,本文主要介紹了Node.js使用定時器的三種方法,包括setTimeout、setInterval和setImmediate等方法,感興趣的可以了解一下
    2024-02-02

最新評論