28 # commander 的用法

简介: 28 # commander 的用法

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 dwebpack --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

先安装依赖

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

目录
相关文章
|
12月前
|
存储 搜索推荐 API
Electron-store本地存储功能
【10月更文挑战第18天】Electron-store 无疑为我们的 Electron 应用开发提供了强大的支持。它的本地存储功能不仅方便实用,而且性能优异,为我们打造高质量的应用提供了坚实的基础。
【Qt 学习笔记】Qt常用控件 | 显示类控件 | Progress Bar的使用及说明
【Qt 学习笔记】Qt常用控件 | 显示类控件 | Progress Bar的使用及说明
1757 0
|
存储 安全 算法
显微镜下的安全战!Python加密解密技术,透视数字世界的每一个安全细节
【9月更文挑战第7天】在数字世界中,数据安全至关重要。Python加密解密技术如同显微镜下的精密工具,确保信息的私密性和完整性。以大型医疗机构为例,通过AES和RSA算法的结合,既能高效加密大量医疗数据,又能安全传输密钥,防止数据泄露。以下是使用Python的`pycryptodome`库实现AES加密和RSA密钥交换的简化示例。此方案不仅提高了数据安全性,还为数字世界的每个细节提供了坚实保障,引领我们迈向更安全的未来。
129 2
|
缓存 前端开发 JavaScript
React知识点系列(7)-每天10个小知识
React知识点系列(7)-每天10个小知识
132 0
|
Android开发
将video转成gif工具(免费)
将video转成gif工具(免费)
290 0
|
IDE 前端开发 网络安全
JetBrains 远程开发的使用和心得
JetBrains 远程开发的使用和心得
739 0
|
存储 Go 数据安全/隐私保护
第二十五章 CSP Session 管理 - 选择策略时的注意事项
第二十五章 CSP Session 管理 - 选择策略时的注意事项
189 0
|
3天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!