28 # commander 的用法

news2024/12/27 14:53:10

node 和前端的区别

  • 前端里面有 BOM 和 DOM,服务端没有,也没有 window
  • 服务端里面有 global 全局对象(浏览器也有 global,只不过访问属性的时候都是通过 window 来代理,没有直接访问 global,也不能直接访问 global)
console.log(global);
// global 跟 window 一样,可以循环引用
console.log(global.global.global);

process 进程(重要)

process 默认取值就会向 global 中查找

不能写成 this.process:node中有一个模块化系统,是以文件为单位,每个文件都是一个模块,模块中的 this 被更改成 {}

console.log(global.process);

(1)platform:可以用这个属性来判断当前执行的系统环境

console.log(process.platform);

https://nodejs.org/api/process.html#process_process_platform

在这里插入图片描述

(2)argv:可以解析用户传递的参数(第一个参数:node.exe;第二个参数:node当前执行的文件)

执行 node 文件 node index.js a b c d webpack --mode --config --port --process

console.log(process.argv);

例子:node '28 # commander 的用法.js' --port 3000 --color red --config kaimo

let args = process.argv.slice(2);
let obj = {};
args.forEach((item, index) => {
    if (item.startsWith("--")) {
        obj[item.slice(2)] = args[index + 1];
    }
});
console.log(obj); // { port: '3000', color: 'red', config: 'kaimo' }

在这里插入图片描述

commander

  • (commander TJ)https://github.com/tj/commander.js/
  • (yargs webpack)

先安装依赖

npm init -y
npm install commander

在 npm 上的模块都需要先安装在使用(模块内部也提供了几个属性,也可以在模块中直接访问,比如:require 就相当与是参数)

const program = require("commander");
let kaimo = program
    .command("create")
    .action(() => {
        console.log("创建项目");
    })
    .version("3.1.3")
    .name("kaimo")
    .usage("怎么使用?")
    .option("-p,--port <v>", "设置你的端口")
    .option("-c,--color <v>", "设置你的颜色")
    .option("-cf,--config <v>", "设置你的配置")
    .parse(process.argv);

执行:

node '28 # commander 的用法.js' -h

在这里插入图片描述

node '28 # commander 的用法.js' -V

在这里插入图片描述

node '28 # commander 的用法.js' create xxx

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/612711.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Oracle-Linux修改字符集

Oracle-修改字符集 连接查询字符集立即关闭数据库并终止所有用户会话开启挂载启用受限会话设置作业队列进程数为0设置 AQ 时间管理进程数为 0打开&#xff08;Open&#xff09;一个已经挂载&#xff08;Mount&#xff09;的数据库修改数据库字符集为AL32UTF8立即关闭数据库并终…

前端零基础入门,好程序员手把手教你!学会CSS语法规则!

今天来学习CSS语法规则&#xff0c;想要入门前端这一岗位&#xff0c;就必须得同时掌握有关于它的三门编程语言&#xff0c;分别是HTML、CSS以及javascript。这三门编程语言的语法各不相同&#xff0c;今天好程序员带大家来认识CSS语法规则。 想要学习一门编程语言&#xff0c;…

Linux4.9 Tomcat部署及优化

文章目录 计算机系统5G云计算第六章 LINUX Tomcat部署及优化一、Tomcat概述1.Tomcat核心组件2.什么是 servlet3.什么是 JSP4.Tomcat 功能组件结构5.Container 结构分析6.Tomcat 请求过程7. 配置文件 二、Tomcat 服务部署1.关闭防火墙&#xff0c;将安装 Tomcat 所需软件包传到/…

利用Taro打造灵活的移动App架构

最近公司的一些项目需要跨端框架&#xff0c;技术老大选了Taro&#xff0c;实践了一段时间下来&#xff0c;愈发觉得Taro是个好东西&#xff0c;所以在本篇文章中稍微介绍下。 什么是Taro&#xff1f; Taro&#xff08;或称为Taro框架&#xff09;是一种用于构建跨平台应用程…

springboot3深度学习(在更)

jar包外进行配置文件的修改 在jar包的同目录创建application.properties文件&#xff0c;直接在这个文件中配置对应的信息&#xff0c;就可以完成对应的修改&#xff0c;我们就可以做到不修改源代码。 例子: 测试结果为下: yml文件和properties文件都可以实现此功能&#xf…

160个CrackMe之002

这道题就很简单 有了第一道题目的支持 我们就能做 首先 我们先要下载Msvbvm50.dll Msvbvm50.dll下载_Msvbvm50.dll最新版下载[修复系统丢失文件]-下载之家 然后我们可以运行程序了 比之前那个还简单 就是输入 然后比对 报错或者成功 开始逆向分析 先去常量中进行查找 找…

初学者需要掌握的一些FPGA基础设计概念(2)

目录 1. 什么是流片 2. CLB 3. 如何解决亚稳态&#xff08;Metastability&#xff09; 4. 什么是可综合 5. 什么是双边沿、上升沿、下降沿 6. IOB 7. PLL 8. IP核 9. 时序分析 10. 时钟域 11. 约束文件 12. 用VERILOG实现消除一个glitch 滤掉小于1个周期glitch 滤…

什么是电压跟随器?电压跟随器有什么作用

电压跟随器是一种电路&#xff0c;其输出电压跟随输入电压的变化而变化。它被广泛应用于电子设备中&#xff0c;尤其是在信号放大和控制电路中。在本文中&#xff0c;我们将探讨电压跟随器的工作原理、应用以及设计。 一、电压跟随器的工作原理 电压跟随器是一种反馈电路&…

【AIGC】Photoshop AI Beta版本安装使用(永久免费)

AIGC 大爆发 Adobe近日宣布&#xff0c;Photoshop&#xff08;测试版&#xff09;应用程序发布了生成式AI绘图&#xff0c;这是世界上第一个创意和设计工作流程的副驾驶&#xff0c;为用户提供了一种神奇的新工作方式。生成式AI绘图由Adobe Firefly提供支持&#xff0c;Adobe的…

操作系统复习2.3.2-临界区的软件硬件实现方法

软件实现方法 思想 在进入区设置并检查一些标志来得知是否有进程已经在临界区&#xff0c;有则循环检查等待&#xff0c;无则直接进入&#xff0c;进程进入/离开临界区时修改标志 单标志法 通过标记进程号来实现控制只有一个进程能够进行临界区&#xff0c;但会出现P0进程进…

Java单元测试学习(一)

Java单元测试学习&#xff08;一&#xff09; 使用TestContainer和docker结合启动redis 前提 docker环境 目录结构 依赖—这里有个小插曲 配置RedisTemplate时一直报错Error creating bean with name ‘redisConnectionFactory’ defined in class path resource [org/spr…

客户回访|国产MCU测试解决方案 助力中国“芯”智造

半导体技术持续更新迭代&#xff0c;MCU也在与时俱进&#xff0c;为了更好地迎接市场未来趋势&#xff0c;国产MCU厂商积极布局各系列MCU产品线&#xff0c;开始逐渐在特定细分领域实现突破。随着应用场景的进化升级&#xff0c;MCU 中包含越来越多的功能模块&#xff0c;相应地…

Mysql进阶【1】论述索引,索引数据结构,MVCC

1. ReadView 案例&#xff0c;解释为什么 RR 和 RC 隔离级别下看到查询结果不一致 案例 01- 读已提交 RC 隔离级别下的可见性分析 开启两个回话&#xff0c;会话事务级别都是READ-COMMITED; 操作步骤 开启两个数据库会话&#xff0c;设置事务为提交读事务2查询id1数据&#…

zerotier使用

目标 使用zerotier进行内网穿透&#xff0c;使外网客户端访问内网服务器 步骤 1.1 注册 进入zerotier官网&#xff0c;注册 ​ 完成后进入个人中心&#xff0c;点击networks&#xff0c;选择创建网络&#xff0c;得到一个networkid ​ 点击id进入设置&#xff0c;编辑名称…

程序员——毕业年薪28w真的不可能吗?

我是一名来自湖南的普通应届毕业生。目前就职于杭州的一家电商经营的公司&#xff0c;做数据开发工程师&#xff0c;工资是20k*14薪&#xff0c;并且是每周三发一次工资。 在大学期间&#xff0c;我选择了学习计算机相关专业&#xff0c;但是课堂上所学的知识常常让我觉得晦涩…

仙境传说RO :ra脚本加载结构和开发语法讲解

仙境传说RO &#xff1a;ra脚本加载结构和开发语法讲解 大家好&#xff0c;我是艾西。上一篇文章中我们聊完了怎么在游戏中新建NPC&#xff0c;感觉还是有不少小伙伴没有太看懂原理。今天艾西给大家深度讲解一下脚本加载结构和开发语法环境文档。 我们最后都是以ra脚本为主要…

提高客户满意度的4种方式

随着技术的使用越来越多&#xff0c;客户体验格局已经永远改变了。长时间的等待时间和缓慢的响应不再被接受&#xff0c;并且对客户满意度产生巨大影响。即时满足和满足客户的高期望至关重要。 那么如何提高客户满意度呢&#xff0c;接下来将为您推荐五种最常见的方法&#xf…

SpringCloud Alibaba Sentinel学习

SpringCloud Alibaba Sentinel 1. Sentinel 使用 第一步、下载Sentinel的jar包&#xff0c;并且在命令行输入 java -jar sentinel-dashboard-1.8.0.jar 启动jar包 第二步、在项目中添加Sentinel依赖 <!--引入 alibaba-sentinel 场景启动器--> <dependency><g…

【每日算法】【171. Excel 表列序号】

☀️博客主页&#xff1a;CSDN博客主页 &#x1f4a8;本文由 我是小狼君 原创&#xff0c;首发于 CSDN&#x1f4a2; &#x1f525;学习专栏推荐&#xff1a;面试汇总 ❗️游戏框架专栏推荐&#xff1a;游戏实用框架专栏 ⛅️点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd;&…

Cookie和session工作流程详解

目录 cookie机制 session会话 理解会话机制 Servlet中对Cookie和Session提供的 HttpServletrequest类中的方法&#xff1a; 模拟实现登录功能 首先实现功能分为两个界面&#xff1a; &#xff08;1&#xff09;登录页面代码&#xff08;前端代码&#xff09; (2) 编写Lo…