国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 16:13:34
字體:
來源:轉載
供稿:網友

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:創建子命令,子命令的使用方法是command <subcommand> [options],實際調用的命令是command-subcommand,如使用命令行執行vue list,其實是在執行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命令的實現原理,敬請期待!

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁河县| 长葛市| 察雅县| 北川| 柘荣县| 青阳县| 白沙| 邳州市| 炉霍县| 昌平区| 璧山县| 绿春县| 永昌县| 拜城县| 博客| 河东区| 炉霍县| 涿州市| 文水县| 民和| 萨嘎县| 苗栗市| 南丹县| 定陶县| 安泽县| 新疆| 连云港市| 张家港市| 桐柏县| 元氏县| 武穴市| 保亭| 二手房| 佳木斯市| 云安县| 什邡市| 宣城市| 定兴县| 枣阳市| 德安县| 汽车|