2016-08-10 readline

nodejs readline模塊

什么是readline

Readline是Node.js里實(shí)現(xiàn)標(biāo)準(zhǔn)輸入輸出的封裝好的模塊猴鲫,
通過(guò)這個(gè)模塊我們可以以逐行的方式讀取數(shù)據(jù)流佃延。
使用require(“readline”)可以引用模塊部逮。

如何使用readline

  • 創(chuàng)建readline實(shí)例
  • 學(xué)習(xí)里面的接口方法
  • 學(xué)習(xí)監(jiān)聽(tīng)與處理Readline事件

  1. 方法setPromat(promat),就是給每一行設(shè)置一個(gè)提示符

  2. promat()可以算是最重要的方法了西采,因?yàn)樗朋w現(xiàn)了Readline的核心作用惕味,以行為單位讀取數(shù)據(jù)僚稿,premat方法就是在等待用戶輸入數(shù)據(jù)

  3. 這里又監(jiān)聽(tīng)了’line’ 事件蹦掐,因?yàn)閜romat方法調(diào)用一次就只會(huì)讀取一次數(shù)據(jù),所以户辞,在這個(gè)方法又調(diào)用了一次promat方法泌类,這樣就可以繼續(xù)讀取用戶輸入,從而達(dá)到一種命令行的效果


代碼示例

//引入readline模塊
var readline = require('readline');

//創(chuàng)建readline接口實(shí)例
var rl = readline.createInterface(process.stdin,process.stdout);

// Prompt方法
rl.setPrompt('請(qǐng)輸入:');
rl.prompt();

//監(jiān)聽(tīng)數(shù)據(jù)流
rl.on('line',(line)=>{
    var str = line.trim(); //輸入數(shù)據(jù)流
    console.log('你輸入的是:' + str);
});

//close事件監(jiān)聽(tīng)
rl.on('close',function(){
    //結(jié)束程序
    console.log('bye bye');
});
//引入readline模塊
var readline = require('readline');

//創(chuàng)建readline接口實(shí)例
var rl = readline.createInterface(process.stdin,process.stdout);

// Prompt方法
rl.setPrompt('請(qǐng)輸入:');
rl.prompt();

//監(jiān)聽(tīng)數(shù)據(jù)流
rl.on('line',(line)=>{
    var str = line.trim(); //輸入數(shù)據(jù)流
    // console.log('你輸入的是:' + str);

    if(str==0){
      console.log('bye bye');
      process.exit();
    }else{
      console.log('你輸入的是:' + str);
      rl.prompt();
    }
});
//hello.js文件
exports.work = function(string){
  console.log('現(xiàn)在是開(kāi)會(huì)時(shí)間底燎,不適合說(shuō)笑 '+string);
}
function ww(){
  console.log('this is working');
}
exports.w = ww;


//引入readline模塊
var readline = require('readline');

var hello = require('./hello');  //  引入模塊

//創(chuàng)建readline接口實(shí)例
var rl = readline.createInterface(process.stdin,process.stdout);

// Prompt方法
rl.setPrompt('請(qǐng)輸入:');
rl.prompt();

//監(jiān)聽(tīng)數(shù)據(jù)流
rl.on('line',(line)=>{
    var str = line.trim(); //輸入數(shù)據(jù)流
    // console.log('你輸入的是:' + str);

    if(str==0){
      console.log('bye bye');
      process.exit();
    }else{
      console.log('你輸入的是:' + str);
      hello.work(str);
      rl.prompt();
    }
});

QueryString模塊

QueryString 模塊用于實(shí)現(xiàn)URL參數(shù)字符串與參數(shù)對(duì)象的互相轉(zhuǎn)換

 var url = require('url');
 var qs = require('querystring');
 var queryUrl = "http://localhost:8888/bb?name=bigbear&memo=helloworld" ;
 queryUrl = url.parse(queryUrl).query ;
 console.log(queryUrl) ;
 console.log(qs.parse(queryUrl)) ;

運(yùn)行結(jié)果:
name=bigbear&memo=helloworld
{ name: 'bigbear', memo: 'helloworld' }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末刃榨,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子双仍,更是在濱河造成了極大的恐慌枢希,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件朱沃,死亡現(xiàn)場(chǎng)離奇詭異苞轿,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)逗物,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門搬卒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人翎卓,你說(shuō)我怎么就攤上這事契邀。” “怎么了失暴?”我有些...
    開(kāi)封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵坯门,是天一觀的道長(zhǎng)微饥。 經(jīng)常有香客問(wèn)我,道長(zhǎng)古戴,這世上最難降的妖魔是什么欠橘? 我笑而不...
    開(kāi)封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮允瞧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蛮拔。我一直安慰自己述暂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布建炫。 她就那樣靜靜地躺著畦韭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪肛跌。 梳的紋絲不亂的頭發(fā)上艺配,一...
    開(kāi)封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音衍慎,去河邊找鬼转唉。 笑死,一個(gè)胖子當(dāng)著我的面吹牛稳捆,可吹牛的內(nèi)容都是我干的赠法。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼乔夯,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼砖织!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起末荐,我...
    開(kāi)封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤侧纯,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后甲脏,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體眶熬,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年块请,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了聋涨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡负乡,死狀恐怖牍白,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情抖棘,我是刑警寧澤茂腥,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布狸涌,位于F島的核電站,受9級(jí)特大地震影響最岗,放射性物質(zhì)發(fā)生泄漏帕胆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一般渡、第九天 我趴在偏房一處隱蔽的房頂上張望懒豹。 院中可真熱鬧,春花似錦驯用、人聲如沸脸秽。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)记餐。三九已至,卻和暖如春薇正,著一層夾襖步出監(jiān)牢的瞬間片酝,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工挖腰, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留雕沿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓猴仑,卻偏偏與公主長(zhǎng)得像晦炊,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子宁脊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說(shuō)閱讀 10,869評(píng)論 6 13
  • https://nodejs.org/api/documentation.html 工具模塊 Assert 測(cè)試 ...
    KeKeMars閱讀 6,305評(píng)論 0 6
  • 《裕語(yǔ)言》速成開(kāi)發(fā)手冊(cè)3.0 官方用戶交流:iApp開(kāi)發(fā)交流(1) 239547050iApp開(kāi)發(fā)交流(2) 10...
    葉染柒丶閱讀 26,007評(píng)論 5 19
  • 波蘭詩(shī)人米沃什在詩(shī)《禮物》中這樣寫道:這世上沒(méi)有一樣?xùn)|西我想占有断国。我知道沒(méi)有一個(gè)人值得我羨慕。這讓我直接會(huì)想...
    周蒙閱讀 343評(píng)論 0 1
  • 上午到了公司立馬開(kāi)始和深圳要照片榆苞。從昨天下午四點(diǎn)拖到今天十點(diǎn)又拖到十點(diǎn)半稳衬。雖然他十點(diǎn)三十一發(fā)的,我還是沒(méi)給他上坐漏。遲...
    Sanity娜娜閱讀 111評(píng)論 0 1