{
"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"]
}
}
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);