前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >node命令行解决方案Commander

node命令行解决方案Commander

作者头像
wade
发布2021-03-15 15:04:58
1.3K0
发布2021-03-15 15:04:58
举报
文章被收录于专栏:coding个人笔记

命令行的交互应该都不陌生,从最简单的看版本(node --version)到用命令行创建项目(vue create project),以前不知道的时候觉得做这些交互的应该很难,现在知道了一些就不觉得那么神秘了。

一般来说我们都会直接用现成的包,包括那些框架也都是用commander这个包去实现。今天就是简单了解一下commander的用法。

想要用命令,就要链接到全局,之前已经分享过npm link,这边简单再说一下:

初始化项目:npm init -y

package.json配置bin:"bin": "./bin/wade.js",

package.json的bin可以是对象也可以是字符串,如果是字符串那么使用的命令就是name那个字段,如果是对象那就是对象的key

新建bin文件夹和wade.js文件,声明和打印语句:

代码语言:javascript
复制
#! /usr/bin/env node
console.log('is wade cmd')

当前目录执行npm link:

执行wade:

前期准备工作做好了,接下去开始使用commander。

安装:npm install commander

简化使用引入:const { program } = require('commander');

大概知道下面几个命令就够了:

command:自定义执行的命令

oprton:自定义选项

description:命令的描述

action:命令执行之后执行的方法

parse:解析命令行参数,放在最后

写了一个create的命令和几个选项还有最基本的版本和help

代码语言:javascript
复制
program
  .command('create <app-name>')
  .description('create a new project')
  .option('-f, --force, overwrite target derectory if it exists')
  .action((name,cmd) => {
    console.log(name, cmd)
  })

program.on('--help', () => {
  console.log('run wade-cli <command> --help show details')
})

program
  .version(`wade@${require('../package.json').version}`);

program
  .option('-d, --debug', 'options debug')
  .action((name, cmd) => {
    console.log(name)
  });

执行:

知道了大概的命令行交互,就可以通过执行的命令进行相应的操作,比如进行选项,拉取模板之类的,想要了解更详细的commander可以到GitHub上看:

https://github.com/tj/commander.js/blob/HEAD/Readme_zh-CN.md

(完)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 coding个人笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档