nodejs 命令行、自定义

一、必备插件

1. babel:es6语法支持,需要babel-perset-es2015(转换成es5执行)、babel、babel-core(程序执行)

2. commander:自定义命令插件,提供参数的传递等

3. liftoff:实现对命令窗口的输入监听,以及命令格式化规格。

4. minimist:读取命令行参数插件

以上插件都可以通过npm直接安装。

二、示例代码分析:

2.1. cli.js

var liftOff = require("liftoff");import app from "./app";var argv = require("minimist")(process.argv.slice(2));var cli =new liftOff({    name: "sam",    processTitle: ‘samLong‘,    moduleName: "sam",    extensions:{        ‘.js‘:null    }});cli.launch({    cwd: argv.r || argv.root,    configPath: argv.f || argv.file},function(env){    console.log("命令名称:" + argv["_"]);    console.log( "执行路径:" + env.cwd);    var commander = require(‘commander‘);    var _app = new app();    _app.register(commander);});

1. liftOff类:通过导入liftOff第三方插件实现对命令行参数进行解析,且通过liftOff的实例方法launch进行捕获

2. require("minimist")(process.argv.slice(2)):将命令行参数转换为对象

3. ./app:导入命令执行类

2.2. app.js

class App
{
    register(commander)
    {
        commander
            .option(‘-d --date‘, "显示时间")
            .parse(process.argv);
        if (commander.date) {
            console.log(‘date命令被执行‘);
        }
    }
};
export default App;

通过commander实现的一个简单的命令执行类。

2.3. index.js

require("babel-core/register"); //导入babel-core,用于在代码中转换我es6
require("./src/app");
require(‘./src/cli‘);

2.4. 执行效果:

三、GIt地址

[email protected]:cqhaibin/commandertest.git

时间: 08-19

nodejs 命令行、自定义的相关文章

beego小技巧两则:通过命令行自定义端口和环境,url中带有中划线处理

1,通过命令行自定义端口和环境 先用flag提取参数,如果要环境,就反向注进去, 如果是端口,就打到beego.Run函数里去. 2,在作router里的url解析时,如果URL中含有-中划线,用严格的string是不能匹配的. 需要去掉这个string限定. package main import ( "flag" "fmt" _ "prismlogapi/routers" "github.com/astaxie/beego"

NodeJs命令行新建项目实例

安装Nodejs: 下载地址:http://nodejs.org/download/ 设置环境变量,例如我将nodejs装在D:/program文件夹下,则设以下为系统环境变量 D:\Program\nodejs 安装Express开发框架: //命令行输入命令 npm install -g express npm install -g express-generator 新建项目 //命令行输入命令 express -t ejs newsproject 按照提示进入项目目录,运行npm安装 /

前端技术之:如何创建一个NodeJs命令行交互项目

方法一:通过原生的NodeJs API,方法如下: #!/usr/bin/env node # test.js var argv = process.argv; console.log(argv) 通过以下命令执行: node test.js param1 --param2 -param3 结果输出如下: [ '/usr/local/Cellar/node/10.10.0/bin/node', 'test.js', 'param1', '--param2', '-param3' ] 可见,arg

玩转 Nodejs 命令行

背景 在做 cli 工具的时候,非常需要命令行相关的第三方库.一个比较稳健成熟的命令行应该考虑以下 4 种需求: 读取传入的各种参数,例如: --help, -v=123 逻辑处理和友好的 UI 交互,例如:提供列表选择 细致控制字体颜色和背景颜色 状态显示,例如:等待过程前面是转圈圈,完成过程前面自动换成对号 在开始前,安装一下需要用到的库: npm install --save inquirer npm install --save commander npm install --save

nodejs 命令行获取入参

安装:npm install yargs --save-dev Example index.js const argv = yargs.alias('n', 'name').alias('p', 'port').alias('t', 'tpl').argv console.log(argv.name); 命令行输入: $ node index.js -n fuck -p 8080 -tpl components 原文地址:https://www.cnblogs.com/CyLee/p/84344

一幅图告诉你所有的NodeJS命令行调试语句

NodeJS提供脚本调试. 输入node debug xx.js即可进入调试模式.

一张地图,告诉你NodeJS命令行调试器语句

NodeJS提供脚本调试. 进入node debug xx.js您可以进入调试模式. 版权声明:本文博客原创文章,博客,未经同意,不得转载.

nodejs 命令行交互

人机交互 function readSyncByfs(tips) { tips = tips || '> '; process.stdout.write(tips); process.stdin.pause(); const buf = Buffer.allocUnsafe(10000); let response = fs.readSync(process.stdin.fd, buf, 0, 10000, 0); process.stdin.end(); return buf.toString

详解NodeJS和命令行程序

源起 植根于Unix系统环境下的程序,很多都把贯彻Unix系统设计的哲学作为一种追求.Unix系统管道机制的发明者Douglas McIlroy把Unix哲学总结为三点: 专注做一件事,并做到极致.程序协同工作.面向通用接口,如文本数据流.随着Unix/Linux系统在服务器上影响力越发强大,以及各种跨平台解决方案的发展,这种哲学也被带到了各种平台上.若干年前,笔者第一次接触NodeJS和其包管理解决方案NPM时候,就感觉到其官方倡导的风格,和Unix系统哲学非常契合.近年来,随着NodeJS在