node怎么写静态文件服务器

twqabc
  • 134
var fs = require('fs')
var http = require('http')
var url = require('url');
var path = require('path')

function aa(req,res){
    //获取分解后的path的pathname
    var pathname = url.parse(req.url).pathname;
    fs.readFile(ROOT,path.join(pathname),function (err,file){
        if(err){
            res.writedHead(404);
            res.end("找不到相关文件")
            return
        }
        res.writeHead(200);
        res.end(file);
    })
}
http.createServer(aa).listen(1337,'127.0.0.1');

打开http://localhost:1337/ ROOT报错

回复
阅读 750
1 个回答

写成这样就行

var fs = require('fs')
var http = require('http')

function handler(req, res) {
  fs.readFile(__dirname + req.url, function (err, data) {
    if (err) {
      res.writeHead(404)
      res.end(JSON.stringify(err))
      return
    }
    res.writeHead(200)
    res.end(data)
  })
}

http.createServer(handler).listen(1337, '127.0.0.1')
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏