随身笔记
随身笔记

Nodejs 开发第一个 CLI(命令行界面) 程序

node.js dos界面 命令程序

什么是cli命令

类似于我们平时装win系统时,进入到一个dos界面让我们选择相应的操作,或者输入相应的光标之后安回车之后就开始执行操作。

node_cli

类似于这样的就是cli命令。

 

//run.js

var fs = require('fs');
var stdin = process.stdin;
var stdout = process.stdout;

var curDir = process.cwd();
function getDirectoryData(dir){
 fs.readdir(dir,function(err,files){
   console.log("");
   if(!files.length){
       return console.log(' \0333[31m No files to show! \033[39m\n');
   }
   console.log(' Select which file or directory you want to see! \n');
 
   function file(i){
     var filename = files[i];
 
     var statFile = fs.statSync(__dirname + '/' + filename);
     if(statFile.isDirectory()){
        console.log(' '+ ++i + ' \033[31m' + filename + '/\033[39m');
     }else{
        console.log(' '+ ++i + ' \033[90m' + filename + '\033[39m');
     }
 
     if( i == files.length){
       read();
     }else{
       file(i);
     }
 }
 
 file(0);
 
 function read(){
    console.log('');
    stdout.write(' \033[33m Enter your choice: \033[39m');
    stdin.resume();
    stdin.setEncoding('utf8');
 
    stdin.on('data',option);
 }
 
  function option(data){
    var filename = files[Number(data)-1];
    if(fs.statSync(__dirname + '/' + filename).isDirectory()){
        stdin.pause(); 
        fs.readdir(__dirname + '/' +filename,function(err,files){
            console.log('');
            console.log(' (' + files.length + ' files)');
            files.forEach(function(file){
               console.log(' -- ' + file);
            });
            console.log('');
        })
    }else{
        stdin.pause();
        fs.readFile(__dirname + '/' +filename,'utf8',function(err,data){
          console.log('');
          console.log('\033[90m' + data.replace(/(.*)/g,' $1') + '\033[39m');
        });
     }
  }
 });
}
getDirectoryData(curDir);

 

http://blog.163.com/hule_sky/blog/static/2091622452016621103745136/ 

 

 

没有标签
首页      nodejs笔记      Nodejs 开发第一个 CLI(命令行界面) 程序

随身笔记

Nodejs 开发第一个 CLI(命令行界面) 程序
node.js dos界面 命令程序 什么是cli命令 类似于我们平时装win系统时,进入到一个dos界面让我们选择相应的操作,或者输入相应的光标之后安回车之后就开始执行操作。 类似于…
扫描二维码继续阅读
2017-02-13