使用node.js搭建一个简单的本地服务器

//注:此代码只能作为文件服务器.
//当静态网页服务器时,在访问的资源不是html时,需要返回正确的 content-type,如css文件返回 
Content-Type:
 
text/css
//否则,浏览器不能正确识别资源,不能根据content-type,做出正确的处理
//使用node.js写一个简单的本地服务器
var http = require( 'http');
var fs = require( 'fs'); //引入文件读取模块

var documentRoot =  'E:/work/nserver'; //需要访问的本地文件的存放目录

var server = http.createServer( function (req, res) {

     var url = req.url;
     //客户端输入的url,例如如果输入
     // http://localhost:8889/index.html
     //那么这里的url == /index.html 

     //以下三行代码可已配置默认访问页面为index.html
     // if (url == '/') {
     //     url = '/index.html';
     // }

     var file = documentRoot + url;
    console.log(url);

     //参数1:要读取的文件路径;
     //参数2:回调函数,读取失败的信息在err中,err为空表示没有错误.data为读取到的文件数据
    fs.readFile(file,  function (err, data) {
          if (err) {
            res.writeHeader( 404, { 'content-type''text/html;charset="utf-8"'});
            res.write( '<h1>404错误</h1><p>你要找的页面不存在</p>');
            res.end();

        }  else {
            res.writeHeader( 200, { 'content-type''text/html;charset="utf-8"'});
            res.write(data);
            res.end();}
    });
}).listen( 8889); // 此处的8889是监听的端口号,可以根据自己的需要配置,注意不要和本地的一些应用程序使用的端口号冲突

 console.log( '服务器开启成功');
  //把此代码保存为js_server.js
  //打开终端 执行命令:   node  js_server.js
  //打开浏览器输入http://localhost:8889/[你要访问的html文件]
  //例如:http://localhost:8889/index.html
  //localhost 可以使用127.0.0.1代替
 //参考:http://blog.csdn.net/u014420383/article/details/47945819

猜你喜欢

转载自blog.csdn.net/aaa333qwe/article/details/80682274