最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解如何使用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的腳手架項目。本文簡單介紹一下這些命令是如何實現(xiàn)的。

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來實現(xiàn)。commander的主要方法:

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

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

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

vue-init子命令的實現(xiàn)

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() 

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • node schedule實現(xiàn)定時任務(wù)的示例代碼

    node schedule實現(xiàn)定時任務(wù)的示例代碼

    實際工作中,可能會遇到定時清除某個文件夾內(nèi)容,本文主要介紹了node schedule實現(xiàn)定時任務(wù)的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2024-08-08
  • nodejs高版本降為低版本的詳細(xì)解決方案

    nodejs高版本降為低版本的詳細(xì)解決方案

    部分老舊項目需要使用低版本的node,網(wǎng)上很多是無效的,高版本無法直接安裝低版本node,但是低版本nodejs可以安裝部分高版本node,從而達到升級效果,下面這篇文章主要給大家介紹了關(guān)于nodejs高版本降為低版本的詳細(xì)解決方案,需要的朋友可以參考下
    2022-12-12
  • Node.js服務(wù)端實戰(zhàn)之服務(wù)啟動過程詳解

    Node.js服務(wù)端實戰(zhàn)之服務(wù)啟動過程詳解

    這篇文章主要為大家介紹了Node.js服務(wù)端實戰(zhàn)之服務(wù)啟動過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 使用Nodejs?實現(xiàn)一個簡單的?Redis客戶端(推薦)

    使用Nodejs?實現(xiàn)一個簡單的?Redis客戶端(推薦)

    在nodejs中支持TCP連接的是net模塊,?其中使用createConnection(config)或者直接new?Socket(config)來初始化一個TCP連接,這篇文章主要介紹了用Nodejs?實現(xiàn)一個簡單的?Redis客戶端,需要的朋友可以參考下
    2022-11-11
  • Node.js 文件夾目錄結(jié)構(gòu)創(chuàng)建實例代碼

    Node.js 文件夾目錄結(jié)構(gòu)創(chuàng)建實例代碼

    下面小編就為大家?guī)硪黄狽ode.js 文件夾目錄結(jié)構(gòu)創(chuàng)建實例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • npm一鍵安裝Python以及node-sass依賴環(huán)境的方法

    npm一鍵安裝Python以及node-sass依賴環(huán)境的方法

    Node-sass是一個庫,它將Node.js綁定到LibSass,下面這篇文章主要給大家介紹了關(guān)于npm一鍵安裝Python以及node-sass依賴環(huán)境的相關(guān)資料,文中還介紹了安裝node-sass報錯Python環(huán)境問題避坑指南,需要的朋友可以參考下
    2022-09-09
  • Node.js連接數(shù)據(jù)庫實現(xiàn)過程詳解

    Node.js連接數(shù)據(jù)庫實現(xiàn)過程詳解

    這篇文章主要為大家介紹了Node.js連接數(shù)據(jù)庫實現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • NodeJS使用JWT跨域身份驗證方案詳解

    NodeJS使用JWT跨域身份驗證方案詳解

    JWT是為了在網(wǎng)絡(luò)應(yīng)用環(huán)境間傳遞聲明而執(zhí)行的一種基于JSON的開放標(biāo)準(zhǔn),其組成部分為Header、Payload、Signature.Payload部分才是真正的用戶信息,它是用戶信息經(jīng)過加密之后生成的字符串,Header和Signature是安全性相關(guān)的部分,只是為了保證token的安全性
    2023-02-02
  • 深入理解Node.js中的進程管理

    深入理解Node.js中的進程管理

    這篇文章主要介紹了Node.js中進程管理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),相信對大家的學(xué)習(xí)或者工作具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • import與export在node.js中的使用詳解

    import與export在node.js中的使用詳解

    本篇文章主要介紹了import與export在node.js中的使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09

最新評論

渝中区| 海林市| 光山县| 墨脱县| 甘南县| 和田县| 杭锦后旗| 哈尔滨市| 灵川县| 社旗县| 伊宁市| 枣阳市| 巩留县| 福贡县| 平乡县| 翼城县| 温州市| 监利县| 宁波市| 容城县| 神木县| 华阴市| 汉阴县| 花垣县| 外汇| 交城县| 神木县| 鞍山市| 吴堡县| 东光县| 焦作市| 阜康市| 郓城县| 运城市| 兰溪市| 定州市| 根河市| 苍南县| 永嘉县| 麻江县| 牟定县|