http:
這個模塊用來創建http服務。
創建服務: http.createServer(fucntion(req,res){
//這個回調函數是用戶輸入地址發送請求后觸發
設置響應頭: res.writeHead(200,{'content-type':'text/html;charset=utf-8'});
設置響應內容: res.write('內容');
響應結束:res.end()
})
監聽端口號: server.listen()
url:
url這個模塊用來操作用戶發送請求的地址,將其序列化為對象,方便操作
var urlads = 'http://www.baidu.com:8080/index.php?name=jack#bbs'
url.parse(urlads) 將一個url地址轉為一個對象,如下所示
Url {
protocol: 'http:', //傳輸協議
slashes: true,
auth: null,
host: 'www.baidu.com:8080', //主機名(域名)+端口號
port: '8080', //端口號
hostname: 'www.baidu.com', //主機名(域名)
hash: '#bbs', //哈希值
search: '?name=jack', //問號加傳遞的數據
query: 'name=jack', //傳遞的數據
pathname: '/index.php', //請求的文件路徑及名稱
path: '/index.php?name=jack', //請求的文件路徑名稱及傳遞的數據
href: 'http://www.baidu.com:8080/index.php?name=jack#bbs' //請求的url地址
}
var urlObj = {
protocol: 'http:',
hostname: 'www.baidu.com',
port: '8080',
pathname: '/index.php',
search: '?name=jack',
hash: '#bbs',
}
url.format(urlObj) 將一個對象轉為url格式的字符串
輸出:http://www.baidu.com:8080/index.php?name=jack#bbs'
fs:
fs模塊是服務器端操作文件的模塊。我們可以對文件及文件夾進行增刪改查。
創建目錄:fs.mkdir();
刪除目錄:fs.rmdir();
重命名目錄:fs.rename();
讀取目錄: fs.readdir(dir,function(err,files){
// files 是一個數組 讀取的dir中的所有內容
});
創建文件:fs.writeFile();
查看文件信息:fs.stat('./name',function(err,data){
data.isFile() //讀取的是不是一個文件
data.isDirectory() //讀取的是不是一個文件夾
});
刪除文件: fs.unlink();
同步讀取:fs.readFileSync()
異步讀取: fs.readFile()
path:
這個模塊主要是獲取文件的路徑的信息。
獲取當前文件的路徑:path.dirname();
獲取當前文件的文件名: path.basename();
獲取當前文件的擴展名: path.extname()
querystring:
這個一個針對用戶發送的數據進行操作的模塊,處理的是url地址?之后的部分。
將一個字符串轉為對象格式:querystring.parse();
var str = 'name=jack&age=18'
querystring.parse(str); 輸出:{name:'jack',age:18}
將一個對象字面量形式轉為字符串以&符連接:queryString.stringify()
var obj = {name:'jack',age:18}
queryString.stringify(obj) 輸出:'name=jack&age=18'
global:
在JS中global是window的一部分,但是在node中,global是單獨存在的對象。
__filename: 當前運行文件的路徑(帶當前文件名)
__dirname: 當前運行文件的路徑(不帶當前文件名)
setInterval(fn,1000) : 定時器
setTimeout(fn,1000) : 定時器
自定義模塊
引入: 在require自定義模塊的時候一定要加上路徑
暴露方法:
exports 用來暴露變量
module.exports用來暴露一個構造函數(不能用exports)
abc.js:
var aa = '11';
var bb = '22';
exports aa =aa;
exports bb = bb;
ss.js:
function abc(name){
this.name = name;
}
abc.prototype = {
say: function(){}
}
module.exports = abc;