前端技术之:命令模块及其执行方法

一、创建一个命令模块
1、package.json

{
  "name": "@uad/nat-cli",
  "version": "0.0.2",
  "description": "Demo",
  "main": "index.js",
  "bin": {
    "artisan": "./src/artisan.js"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git"
  },
  "keywords": [
    "CLI"
  ],
  "author": "chunrong.liu",
  "license": "ISC",
  "dependencies": {
    "shelljs": "^0.8.3",
    "yargs": "^13.2.4"
  }
}

2、src/artisan.js

#!/usr/bin/env node
require(‘shelljs/global‘);
var argv = require(‘yargs‘)
.option(‘n‘, {
alias : ‘name‘,
demand: true,
default: ‘tom‘,
describe: ‘your name‘,
type: ‘string‘
})
.usage(‘Usage: hello [options]‘)
.example(‘hello -n tom‘, ‘say hello to Tom‘)
.help(‘h‘)
.alias(‘h‘, ‘help‘)
.epilog(‘Copyright 2019‘)
.command("morning", "good morning", function (yargs) {
echo("Good Morning");
var argv = yargs.reset()
.option("m", {
alias: "message",
description: "provide any sentence"
})
.help("h")
.alias("h", "help")
.argv;
echo(argv.m);
})
.argv;
console.log(‘hello ‘, argv.n);
console.log(argv._);

二、使用方法
1、将命令模块通过npm link进行全局注册后,即可在命令行窗口直接使用该命令
2、在其它模块中的package.json中引用命令模块,并增加scripts

"scripts": {
  "artisan": "artisan"
},
"dependencies": {
  ......
  "@uad/nat-cli": "^0.0.2",
  ......
}

增加对命令模块的依赖后,执行npm install后,会在node_modules/.bin目录下生成命令的快捷方式,在scripts中即可使用。
命令执行方法如下:

npm run artisan -- -h

npx artisan -h

Usage: hello [options]

命令:

  artisan morning  good morning

选项:
--version 显示版本号 [布尔]
-n, --name your name [字符串] [必需] [默认值: "tom"]
-h, --help 显示帮助信息 [布尔]

示例:

hello -n tom  say hello to Tom

Copyright 2019.

原文地址:https://blog.51cto.com/14565733/2447758

时间: 2024-10-24 12:30:43

前端技术之:命令模块及其执行方法的相关文章

通过spring来配置某个命令号和执行方法之间的映射

整理的内容 1.手动获取spring的ApplicationContext和bean对象 写一个工具类实现ApplicationContextAware接口 2.反射的知识整理 3.前后端协议交互的时使用命令号,可以方便调用后端的执行方法 定义一个对象:ActionDefine,表示消息编号与消息处理类的映射定义 package com.youxigu.dynasty2.core.flex; import java.lang.reflect.Method; import java.util.Ar

Python_01_IP代理池_实现代理池的爬虫模块的执行方法

目标:根据配置问价内心戏,加载爬虫,抓取代理ip,进行校验,如果可用写入到数据库中 思路: 1.在run_spider.py中,创建RunSpider类 2.提供一个运行爬虫的run方法,作为运行爬虫的入口,实现核心的处理逻辑 根据配置文件信息,获取爬虫对象列表 遍历爬虫对象列表,获取爬虫对象,遍历爬虫对象的get_proxies方法,获取代理ip 检测代理ip 如果可用则写入数据库 处理异常,防止一个爬虫内部出错,影响其他爬虫的使用 3.使用异步来执行每一个爬虫任务,以提高抓取代理ip的效率

Python开发的3种命令执行方法

在python开发中,我们常常需要执行命令,修改相关信息.那对于初学者来说,python中如何执行命令呢?今天,小编就为大家分享3种python命令执行的方法. 1. 使用os.system("cmd") 在python中,使用os.system("cmd")的最大特点是,其执行时程序会打出cmd在linux上执行的信息. import os os.system("ls") 2. 使用Popen模块产生新的process Popen是现在pyth

linux下shell脚本执行方法及exec和source命令

exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. bash shell的命令分为两类:外部命令和内部命令.外部命令是通过系统调用或独立的程序实现的,如sed.awk等等.内部命令是由特殊的文件格式(.def)所实现,如cd.history.exec等等. 在说明exe和source的区别之前,先说明一下fork的概念. fork是linux的系统调用,用来创建子进程(child

在 Ruby 中执行 Shell 命令的 6 种方法

我们时常会与操作系统交互或在 Ruby 中执行 Shell 命令.Ruby为我们提供了完成该任务的诸多方法. Exec Kernel#exec 通过执行给定的命令来替换当前进程,例如: $ irb >> exec 'echo "hello $HOSTNAME"' hello codefun $ 注意 exec 利用 echo 命令替换了 irb 进程,然后退出.因为 Ruby 实际上结束了该方法,所以只能有限使用.该方法的缺点是,你无法从 Ruby 脚本中知道命令是执行成功

linux shell 执行多个命令的几种方法

在命令行可以一次执行多个命令,有以下几种: 1.每个命令之间用;隔开 说明:各命令的执行给果,不会影响其它命令的执行.换句话说,各个命令都会执行, 但不保证每个命令都执行成功. 2.每个命令之间用&&隔开 说明:若前面的命令执行成功,才会去执行后面的命令.这样可以保证所有的命令执行完毕后,执行过程都是成功的. 3.每个命令之间用||隔开 说明:||是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执行成功 一条命令为止. linux shell 执行多个命令的几种方法

python中的commands模块,执行出错:'{' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

最近发现了python的commands模块,查看了下源码,使用的popen封装的,形成三个函数getstatus(), getoutput(), getstatusoutput() 源码如下: def getstatus(file): """Return output of "ls -ld <file>" in a string.""" import warnings warnings.warn("co

Shell脚本(脚本结构和执行方法,date命令用法,脚本中的变量)

Shell是什么 Shell是一种脚本语言,和传统语言C,Python...相比还是比较简单的. 可以使用逻辑判断,循环等语法 可以自定义函数 shell是系统命令的集合 shell脚本可以实现自动化运维,能大大增加我们的运维效率 Shell脚本结构和执行方法 1.开头必须要#!/bin/bash  解释器命令,下面的命令是通过哪一个解释器执行的 我们发现sh其实只是bash的软连接 [[email protected] shell]# ll /bin/sh lrwxrwxrwx. 1 root

shell,shell脚本结构和执行方法,data命令,shell脚本中的变量

shell是什么shell是一种脚本语言 aming_linux blog.lishiming.net可以使用逻辑判断.循环等语法可以自定义函数shell是系统命令的集合shell脚本可以实现自动化运维,能大大增加我们的运维效率 shell脚本结构和执行方法开头需要加#!/bin/bash以#开头的行作为解释说明脚本的名字以.sh结尾,用于区分这是一个shell脚本执行方法有两种chmod +x 1.sh; ./1.shbash 1.sh查看脚本执行过程 bash -x 1.sh查看脚本是否语法