nodejs學習筆記一( sublime、atom開發環境,http模塊,fs模塊的初識)

http服務
 
let server = http.createServer(function(req,res){
     
});
 
監聽:
server.listen(8080);
 
request       請求
response     相應
 
編輯器配置相應的環境
sublime: 
依次打開  Tools --> Build System --> new Build System 中文:工具 --> 編譯系統 --> 新建編譯系統
輸入如下代碼,保存配置文件,而後 使用快捷鍵 Ctrl + b 開啓實時node監聽
{

    "cmd": ["node", "$file"],

    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",

    "working_dir": "${project_path:${folder}}",

    "selector": "source.js",

    "shell": true,

    "encoding": "utf-8",

    "windows": {

        "cmd": ["node", "$file"]

    }

}
atom 編輯器
下載對應插件  script
 
Ctrl + shift + b  實時監聽node指令
 
 
 
res.write();     向前臺輸出
res.end();       結束輸出
 
req.url        請求的url      輸出   請求的url + favicon.ico
     facicon.icon   是chrome本身請求的
<link rel= "shortcut icon" href="">
 
const http = require('http');
let server = http.createServer(function(request, response){
     console.log(req.url);
     switch(req.url) {
          case '1.html':
               res.write('1111');
               break;
          case '2.html':
               res.write('2222');
               break;
          default:
               res.write('404');
               break;
     };
     console.log('被請求了');
     // res.write();
     res.end();
});
server.listen(9090);
http--模塊
 
文件操做 : fs模塊(系統自帶模塊)  Files System
     
客戶端  ---- 服務器----磁盤----服務器----客戶端
 
異步 vs 同步
異步: 多個操做能夠同時進行,前一次的操做每完成,後一次的操做也能開始
異步: 一次一個操做
 
讀文件:
// fs.readFile(文件名, 回調函數 function(err, data){});     
fs.readFile();
 
data讀取結果
<buffer  原始的二進制數據 > 
 
const fs = require('fs');

fs.readFile('1.txt', function(err, data){
     if(err) {
          console.log('讀取失敗');
     }else {
          console.log(data.toString());
     }
});
寫文件
// fs.writeFile(文件名, 內容, 回調函數 function(err){ });
fs.writeFile('1.txt', 'jason is a hero!', function(){
     
});
const fs = require('fs');

fs.writeFile('1.txt', 'jason is a hero!', function(err){
     console.log(err);
});
     
總結:
    注意回調函數是異步函數,註釋的res.end();的位置是不對的,fs文件讀取結束後才能分析緣由而且結束相應,而不該該在回調以前先結束相應再執行fs的回調
 
// 引入http模塊
const http = require('http');
// 引入fs模塊
const fs = require('fs');

// 建立一個鏈接
let server = http.createServer( (req, res) => {
    // 指定靜態資源
    let file_name = './www' + req.url;
    fs.readFile(file_name, (err, data) => {
        if(err) {
            res.write('404');
        } else {
            res.write(data);
        }
        res.end();
    });
    // res.end();
});

// 監聽端口
server.listen(9888);
相關文章
相關標籤/搜索