加载模块
var
fs = require('fs'),
http = require('http'),
path = require('path');
创建服务器,并请求和响应
var server = http.createServer(function(request, response) {
var pathname = path.join(__dirname, request.url);
console.log(pathname);
// 获取文件状态
fileState(pathname, function(res) {
if (res) {
//如果是一个文件,发送200响应
response.writeHead(200);
// 将文件流导向res
fs.createReadStream(pathname).pipe(response);
} else {
// 当是一个目录的时候如何让程序自动寻找index.html default.html(问题在这里?)
}
})
}).listen(3000, function(err) {
if (!err) console.log('服务器启动成功');
})
获取文件状态的函数
function fileState(path, callback) {
fs.stat(path, function(err, stats) {
// 判断是否是文件
if (err) {
return false;
}
callback(stats.isFile());
})
}
饮歌长啸
相关分类