text: (window.webpackJsonp=window.webpackJsonp||[]).push([[9],{212:function(a,e,r){"use strict";r.r(e);var n=r(0),t=Object(n.a)({},function(){this.$createElement;this._self._c;return this._m(0)},[function(){var a=this,e=a.$createElement,r=a._self._c||e;return r("div",{staticClass:"content"},[r("h1",{attrs:{id:"认识命令行"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#认识命令行","aria-hidden":"true"}},[a._v("#")]),a._v(" 认识命令行")]),a._v(" "),r("p",[a._v("在开发代码的时候我们不可避免的会使用各种命令行的命令,所以我们有必要对命令行进行了解")]),a._v(" "),r("h2",{attrs:{id:"commander"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#commander","aria-hidden":"true"}},[a._v("#")]),a._v(" commander")]),a._v(" "),r("p",[a._v("概念:")]),a._v(" "),r("ul",[r("li",[a._v("命令 ----你想要设置的命令")]),a._v(" "),r("li",[a._v("参数 ----argument")]),a._v(" "),r("li",[a._v("选项 ----option")])]),a._v(" "),r("p",[a._v("eg: 以ls为示例")]),a._v(" "),r("p",[a._v("ls -la ..其中ls代表命令 ..代表参数 -la代表选项(一般选项前面会有/或者- 不同的系统的前缀不一致) 通过这个前缀用来区分是选项还是参数")]),a._v(" "),r("p",[a._v("安装:")]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("npm i commander --save\n")])])]),r("p",[a._v("使用:")]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("const commander = require('commander')\n")])])]),r("p",[a._v("当我们给命令行添加参数或者选项的时候它们都会被添加到process.argv当中,我们可以使用commander.parse()来解析这个参数.\ncommander.parse(process.argv) ---\x3e解析命令行中的数据信息\n当我们使用这个命令的时候他就会自动的帮我们添加一个-h的选项")]),a._v(" "),r("p",[a._v("eg:")]),a._v(" "),r("p",[a._v("test.js文件内添加如下代码")]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("const commander = require('commander')\ncommander.parse(process.argv)\n")])])]),r("p",[a._v("然后运行node test -h")]),a._v(" "),r("h3",{attrs:{id:"使用commander设置当前脚本的版本"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#使用commander设置当前脚本的版本","aria-hidden":"true"}},[a._v("#")]),a._v(" 使用commander设置当前脚本的版本")]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("const commander = require('commander')\ncommander.version('1.0.0','-v,--version') //第一个参数是版本号 第二个参数的第一个是选项的缩写 第二个人是选项的全称\n")])])]),r("h3",{attrs:{id:"使用commander给当前脚本命令添加选项"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#使用commander给当前脚本命令添加选项","aria-hidden":"true"}},[a._v("#")]),a._v(" 使用commander给当前脚本命令添加选项")]),a._v(" "),r("p",[a._v("commander支持链式的操作 所以我们可以直接在上面代码的基础上进行修改")]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("const commander = require('commander')\ncommander\n.version('1.0.0','-v,--version')\n.option('-a, --all [a]','参看说明',function(a){ 使用<v>或者[v]的形参 <>代表必传 []代表可选\n  //调用该option将会触发这个函数\n  console.log(a)\n}) // 第一个参数 前面选项的缩写 后面是选项的全称  第二个参数 这个选项的说明\n")])])]),r("h3",{attrs:{id:"使用commander给当前脚本命令添加子命令"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#使用commander给当前脚本命令添加子命令","aria-hidden":"true"}},[a._v("#")]),a._v(" 使用commander给当前脚本命令添加子命令")]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("commander\n.command('create <dir>')\n.option('-a, --add','add a dir')\n.action(function(dir){\n  console.log('add ' + dir)\n})\n")])])]),r("p",[a._v("如果不给子命令添加action方法那么该选项(option)将无效")]),a._v(" "),r("h3",{attrs:{id:"使用commander给当前脚本命令添加参数"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#使用commander给当前脚本命令添加参数","aria-hidden":"true"}},[a._v("#")]),a._v(" 使用commander给当前脚本命令添加参数")]),a._v(" "),r("div",{staticClass:"language- extra-class"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[a._v("\nconst commander = require('commander')\ncommander\n.version('1.0.0','-v,--version')\n.option('-l,--list')\n.arguments('<v>')//使用<v>或者[v]的形参 <>代表必传 []代表可选\n")])])])])}],!1,null,null,null);e.default=t.exports}}]);