国产探花免费观看_亚洲丰满少妇自慰呻吟_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命令的實現原理,敬請期待!

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 微博| 安陆市| 将乐县| 霍林郭勒市| 东港市| 基隆市| 沾益县| 通榆县| 肥城市| 通渭县| 太谷县| 龙山县| 凤凰县| 乐安县| 临颍县| 沅陵县| 普安县| 宝坻区| 马关县| 金堂县| 深泽县| 三亚市| 辽阳市| 仁怀市| 巩义市| 饶平县| 册亨县| 梓潼县| 石棉县| 尉犁县| 循化| 拉萨市| 天峻县| 绥江县| 酒泉市| 沿河| 郁南县| 仁寿县| 临沧市| 河津市| 博湖县|