当前位置: 首页 > news >正文

网站开发合作运营平台合同网站建设教程高清视频

网站开发合作运营平台合同,网站建设教程高清视频,网站推广策划方案书,硅胶科技东莞网站建设实现简单的命令注册和参数解析 1 #xff09;概述 这里不会使用任何第三方工具#xff0c;而是给大家讲解一下参数解析的一个实现原理实现两个目标 第一目标是注册一个命令 $ xyzcli init 这个命令就可以完成一个自己的操作第二个是实现参数解析 希望能够实现 --version 的一…实现简单的命令注册和参数解析 1 概述 这里不会使用任何第三方工具而是给大家讲解一下参数解析的一个实现原理实现两个目标 第一目标是注册一个命令 $ xyzcli init 这个命令就可以完成一个自己的操作第二个是实现参数解析 希望能够实现 --version 的一个参数解析以及 init -name 这样的一个参数解析 2 实现 那么问题来了如何能识别到这个 init 命令 $ xyzcli init 在nodejs中有一个 process 的内置库 在 process 中会有一个 argv 参数这个就会把我们所有的参数给罗列下来 第1个返回值是当前node命令的具体路径第2个返回值是当前脚手架命令如xyzcli的具体路径第3个返回值是command, 在这里可以就是 init#!/usr/bin/env node// 定义执行命令的库 const lib {init() {console.log(init)} }// 获取并解析 argv const { argv } require(process); // console.log(argv) const command argv[2]; // console.log(command); // init if (command lib[command]) {lib[command](); // 执行 } else {console.log(请输入命令) }通过以上方法就可以解析出来 init 命令 那如果需要解析出 --name ooo 这种参数呢 #!/usr/bin/env nodeconst { argv } require(process);const options argv.slice(3); // 解析从第3个后面 let [option, param] options; option option.replace(--, );// 测试参数 console.log(option: , option); // name console.log(param: , param); // ooo如何应用参数呢 #!/usr/bin/env node// 定义执行命令的库 const lib {init({ option, param }) {console.log(执行 init 流程, option, param)} }// 获取并解析 argv const { argv } require(process); const command argv[2]; let option, param; const options argv.slice(3); if (options) {[option, param] options;option option.replace(--, ); } if (command lib[command]) {lib[command]({ option, param }); // 执行 } else {console.log(请输入命令) }注意实际参数解析往往比较复杂比如 $ xyzcli init --name -p 22 --test 33这种往往参数比较复杂而且对应的值非常不确定这个时候参数处理就会变得非常困难如果自己开发和兼容此类问题将会占用非常大的工作通常我们用一些库进行处理, 这里只做原理解析 对全局命令的处理 $ xyzcli --version 注意这里 --version 属于 command, 也就是出现在了 argv 的第三位这种就是顶级的或全局的 option#!/usr/bin/env node// 定义执行命令的库 const lib {init({ option, param }) {console.log(init);console.log(执行 init 流程, option, param);},version: 1.0.0 } // 获取并解析 argv const { argv } require(process); const command argv[2]; let option, param; const options argv.slice(3); if (options.length) {[option, param] options;option option.replace(--, ); }// 执行命令 if (command lib[command]) {lib[command]({ option, param }); // 执行 } else if(command.startsWith(--) || command.startsWith(-)) {// 这里是全局 optionsconst globalOption command.replace(/--|-/g, );if (globalOption version || globalOption V) {console.log(lib[version]);} } else {console.log(请输入命令) }以上演示完成整个脚手架的一个初步版本开发 注意这里不是成熟的案例只是阐述如何做的原理
http://www.pierceye.com/news/682412/

相关文章:

  • wordpress首页非常慢网站优化推广seo
  • 成都建设银行网站北京建设工程招标网
  • 国美电器网上商城给网站做seo的必要性
  • 网站制作公司资质dw网页设计的一般步骤
  • 大连三合一网站制作网络营销策划的基本原则
  • 电商网站模板下载手机电影网站怎样做
  • 学校网站建设源码网站开发公司创业
  • 直播网站开发公司赣州网站建设hyxxjs
  • 佛山电商网站制作wordpress评论显示地址
  • 自己怎样用手机建网站化妆品网站模板免费下载
  • 当今做哪个网站致富早期网页游戏
  • 手机网站开发指南西安做网站的
  • php网站搬家教程装修网站建设方案书
  • 上海建网站工作室网络设计培训学校长沙
  • 手机自建网站平台如何寻找seo网站建设客户
  • 网站按关键词显示广告图片这样制作公司网站
  • 桂林建站平台哪家好北京注册公司查询
  • c 高性能网站开发淄博学校网站建设方案
  • 网站建设网站维护的具体内容是什么wordpress主题模板调用
  • 专业网站建设公创建app软件
  • 佛山哪家网站建设比较好互联网内容服务商有哪些
  • 商家在携程旅游网站怎样做宣传ppt免费下载素材库
  • 下载建设银行官方网站下载网站模块介绍
  • 网站定制开发公司推荐网站续费问题
  • 专注七星彩网站开发出租云服务器上建网站
  • 天津做网站.都找津坤科技中国菲律宾历史战绩
  • 网站建设合同的效力网站建设公司需要交税么
  • 色弱可以做网站开发吗建网站的步骤及方法
  • 卖衣服的网站排名discuz分类信息模板
  • 广西网站开发公司招聘网页制作软件