commander的使用和npm的介绍

1.commander

const commander = require("commander"); // 第三方包
const chalk = require("chalk");

console.log(chalk.green("====参数的解析和commander的简单使用===="));
commander.name("node"); // 名字介绍
commander.usage("<path file>"); // 使用方式介绍
commander.version("1.0.0"); // 版本
commander.option("-p --port <v>", "设置端口号"); // 参数介绍
commander.option("-c --config <v>", "配置文件"); // 参数介绍

// 创建指令 <>表示变量参数
commander
  .command("create <item>")
  .description("创建项目的指令")
  .action((item) => {
    // 行为
    console.log(chalk.red("创建项目 --- " + item));
  });

// 格式化参数 返回参数的配置
const args = commander.parse(process.argv);

2.npm的介绍

// package.json中 main是入口 bin里面一般是处理全局命令的

// 升级版本号+1 npm version major/minor/patch (这种如果有git tag的话,会自动修改git的tag)
// major/minor/patch 对应 v2.0.0 的三位  大版本/小版本/补丁

// 版本号(安装适应规则最新的版本)
// ^2.2.0  限定的是大版本  后面两位不确定
// ~2.2.0  限定前两个版本(大版本,小版本) 最后一个不确定,比0大即可
// >=2.0   大于等于2.0版本
// <=2.0   小于等于2.0
// 1.0.0 - 2.0.0  版本区间

// 预发版本(一般升级不会安装,除非你@指定)
// alpha 预览版,内部测试  beta 测试版 公开测试版  rc 最终测试版本

/* package.json 的scripts
 1. 配置脚本文件, 类似于快捷键
 2. 执行命令  会将当前node_modules下的.bin文件夹放到全局中(所以第三方可以直接使用)
*/
// npx和scripts一样,可以帮我们直接运行.bin目录下的内容
// npx如果.bin目录下存在对应的脚本,则会执行,如果没有,会下载在执行,执行完成后再删除,可以理解就是临时下载 比如:npx create-react-app project

// 源的切换 (npm, nrm(切源) ,nvm(用于多个node版本))
// npm i nrm -g
// nrm ls/ nrm use

// 包的发布
// 注册npm账号
// 发布的时候,源一定要在官方源上
// npm addUser 添加用户
// npm publish 发布

// peerDependencies 前置包,比如有些包要依赖一些包,可以用peerDependencies要求安装这些依赖包
// bundledDependencies 这里面的包在打包构建的时候,也会打包进node_modules里面,就是打包也会连依赖一起打包

3.全局命令

#! /usr/bin/env node
// 上面是表示 当前环境是node环境

const commander = require("commander");
const Server = require("../main");

commander.name("n-server");
commander.usage("<path file>");

commander.option("-p --port <v>", "set port");

commander.version("1.0.0");

commander
  .command("n-server <path>")
  .description("创建项目的指令")
  .action((path) => {
    console.log(chalk.red("创建项目 --- " + item));
  });

const args = commander.parse(process.argv);

new Server(args).start();

本地调试可以在根目录(package.json的位置),使用npm link连接npm官网,这样就可以在本地使用全局命令

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值