22016.09.12 Nodejs 幾個基本模塊

nodejs.org nodejs手冊
www.npmjs.com 可以尋找模塊。

第六課主要內容:

  1. nodejs的模塊
  2. nodejs文件操作(fs)
  3. nodejs的io鍵盤交互(readline)
  4. nodejs的url判斷渲染模版(url)

組件化開發

nodejs 模塊

  1. require 引入模塊(引入自定義模塊,可省略.js,./當前路徑)
  2. exports 將我們的代碼函數聲明成為一個模塊(一個文件定義一個模塊)。

nodejs文件操作(fs模塊)

  1. fs.readFile(‘文件名’,‘回調函數’); 讀文件模塊。
    var fs = require('fs');//引入模塊
    fs.readFile('a.txt',function(err,data){
    if(err){
    console.log(err);
    }else{
    console.log(data.toString());
    }
    });
  2. fs.writeFile(‘要寫入的文件名’,‘寫入的數據源’,‘回調函數’); 寫文件模塊
    fs.writeFile('message.txt', 'Hello Node.js', (err) => {
    if (err) throw err;
    console.log('It's saved!');
    });

nodejs的io鍵盤交互(readline 模塊)

  1. require 引入模塊

  2. createInterface 實例化模塊(必須的兩個參數)
    1
    var rl = readline.createInterface({
    input:procees.stdin,
    output:process.stdout
    });
    2
    var rl = readline.createInterface(
    procees.stdin,
    process.stdout
    );

  3. on(xxxx,callback) 綁定操作

  4. 一些方法
    (1) close();
    rl.close();//退出輸入,并返回到命令行
    rl.on('close',(){
    process.exit(0);//要用這種方式,不會返回命令行!
    });
    (2) prompt(); 顯示提示信息
    (3) setPrompt('提示信息') 設置輸入提示
    (4) pause();暫停
    (5) question('問題',(answer)=>{}); 自帶問題,回答直接輸出。
    (6) resume(); 還真不理解到底有什么用??如何使用。。
    (7) write('內容','可選');
    rl.write('輸出一句話');
    rl.write(null,{ctrl:true,name:'c'}); //相當于按鍵盤ctrl+c
    (8) line 監聽輸入狀態,回車以后就會執行。

  5. 小實例
    var readline = require('readline');
    var rl = readline.createInterface({
    input:procees.stdin,
    output:process.stdout
    });
    rl.setPrompt('請輸入字符:')
    rl.prompt();//輸出提示語
    rl.on('line',(line)=>{
    var str = line.trim();//接收鍵盤輸入的字符
    console.log('您輸入的字符是:'+str);
    rl.prompt();
    }).on('close',()=>{
    console.log('exit');//
    process.exit(0);//關閉
    });

nodejs的url判斷渲染模版(url 模塊)

    var http = require('http');
    var fs = require('fs');
    var urlapi = require('url')
    http.createServer(function(req,res){
        var url = urlapi.parse(req.url);
        console.log(url.pathname);
    }).listen(8888,'192.168.1.1');

作業:

  1. nodejs實現io鍵盤交互或者瀏覽器輸入交互(周二)
  2. nodejs判斷url請求渲染2個簡單的模板(周二)
  3. 寫3個靜態的頁面,首頁,列表頁,詳情頁(周三晚上之前)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 個人入門學習用筆記、不過多作為參考依據。如有錯誤歡迎斧正 目錄 簡書好像不支持錨點、復制搜索(反正也是寫給我自己看...
    kirito_song閱讀 2,505評論 1 37
  • https://nodejs.org/api/documentation.html 工具模塊 Assert 測試 ...
    KeKeMars閱讀 6,414評論 0 6
  • 一、核心模塊和對象 核心模塊的意義 常用內置模塊path:處理文件路徑fs:操作文件系統child_process...
    EndEvent閱讀 4,440評論 0 1
  • Node.js是目前非常火熱的技術,但是它的誕生經歷卻很奇特。 眾所周知,在Netscape設計出JavaScri...
    w_zhuan閱讀 3,642評論 2 41
  • nodejs模塊 nodejs 的文件操作 nodejs的io鍵盤交互 nodejs的url判斷渲染模板 node...
    hanglove閱讀 312評論 0 1