2017-04-12 32 views
0

我创建了这个简单的控制台应用程序来使用API​​中的数据,我正在寻找一种方法,在用户控制台上的以前的内容将在程序运行时被清除。我认为clear()应该这样做,但它似乎并没有工作。如何做到这一点运行我的控制台应用程序Windows CMD后,如何清除控制台?

'use strict'; 
 
var request = require('request'), 
 
    clear = require('clear'), 
 
    figlet = require('figlet'), 
 
    inquirer = require('inquirer'), 
 
    chalk  = require('chalk'), 
 
    Spinner  = require('clui').Spinner; 
 
clear(); 
 
console.log(
 
    chalk.cyan(
 
    figlet.textSync('Welcome!', { horizontalLayout: 'left' }) 
 
) 
 
); 
 

 
function getIpadd() { 
 

 
    var status = new Spinner('Getting your IP, please wait...'); 
 

 
    status.start(); 
 
    //Request the IP address 
 
    request('https://api.ipify.org?format=json', function (err, res, data){ 
 
     if (err) { 
 
      console.log(err) 
 
      return; 
 
     } 
 
     data = JSON.parse(data); 
 
     status.stop(); 
 
     console.log('\nYour IP is: ' + data.ip + '\n'); 
 
     exitApp(); 
 
    }); 
 
} 
 

 

 
function startApp() { 
 
    inquirer.prompt([ { 
 
    type: 'list', 
 
    name: 'option', 
 
    message: 'Press enter to Check Ip address', 
 
    choices: [ 
 
     'Check my Ip address', 
 
    ] 
 
    } ]).then(function (answer) { 
 
     if(answer.option === 'Check my Ip address'){ 
 
      getIpadd(); 
 
     }; 
 
    }); 
 
} 
 

 
//Function that Exits the app 
 

 
function exitApp() { 
 
    inquirer.prompt([ { 
 
    type: 'list', 
 
    name: 'option', 
 
    message: 'Exit?', 
 
    choices: [ 
 
     'Yes', 
 
     'No', 
 
    ] 
 

 
    } ]).then(function (answer) {  
 
     if(answer.option === 'No') return startApp(); 
 

 
     if(answer.option === 'Yes') return console.log(chalk.yellow('=============Thanks for using this app!=============')); 
 
    }); 
 
} 
 

 
startApp();

+0

http://stackoverflow.com/questions/3011600/clear-javascript-console- in-google-chrome也许其中一个答案可以帮助你 –

+0

命令行使用'cls'清除。您可以尝试使用'gulp-shell'或'gulp-exec'运行它。不提交作为答案,因为我不知道这是否会按我的预期工作。 – Amy

+0

这将工作在大多数终端不能确定在Windows'console.log(“\ 033 [2J”)' – adrianj98

回答

0

使用cli-clear包,而不是clear任何帮助,终于摸索