猿问

如何让nodejs自动寻找目录下index.html,default.html

加载模块


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());

    })

}


一只萌萌小番薯
浏览 1476回答 1
1回答

饮歌长啸

fileState(pathname, function(res) {        if (res) {            //如果是一个文件,发送200响应            response.writeHead(200);            // 将文件流导向res            fs.createReadStream(pathname).pipe(response);        } else {            // 当是一个目录的时候如何让程序自动寻找index.html default.html(问题在这里?)            response.writeHead(200);            // 将文件流导向res            fs.createReadStream(pathname+'/index.html').pipe(response);                    }    })
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答