nodejs搭建本地web服务

app.js:

var PORT = 3000;//
 
var http = require('http');
var url=require('url');
var fs=require('fs');
var mime=require('./mime').types;//
var path=require('path');
 
var server = http.createServer(function (request, response) {
  var pathname = url.parse(request.url).pathname;
  var realPath = path.join("webapp", pathname);  //这里设置自己的文件名称;
 
  var ext = path.extname(realPath);
  ext = ext ? ext.slice(1) : 'unknown';
  fs.exists(realPath, function (exists) {
    if (!exists) {
      response.writeHead(404, {
        'Content-Type': 'text/plain'
      });
 
      response.write("This request URL " + pathname + " was not found on this server.");
      response.end();
    } else {
      fs.readFile(realPath, "binary", function (err, file) {
        if (err) {
          response.writeHead(500, {
            'Content-Type': 'text/plain'
          });
          response.end(err);
        } else {
          var contentType = mime[ext] || "text/plain";
          response.writeHead(200, {
            'Content-Type': contentType
          });
          response.write(file, "binary");
          response.end();
        }
      });
    }
  });
});
server.listen(PORT);
console.log("Server runing at port: " + PORT + ".");

 

mime.js:

exports.types = {
  "css" : "text/css" ,
  "gif" : "image/gif" ,
 "shtml" "text/html" ,
  "html" : "text/html" ,
  "ico" : "image/x-icon" ,
  "jpeg" : "image/jpeg" ,
  "jpg" : "image/jpeg" ,
  "js" : "text/javascript" ,
  "json" : "application/json" ,
  "pdf" : "application/pdf" ,
  "png" : "image/png" ,
  "svg" : "image/svg+xml" ,
  "swf" : "application/x-shockwave-flash" ,
  "tiff" : "image/tiff" ,
  "txt" : "text/plain" ,
  "wav" : "audio/x-wav" ,
  "wma" : "audio/x-ms-wma" ,
  "wmv" : "video/x-ms-wmv" ,
  "xml" : "text/xml"
};
 

打开项目所在目录输入node app.js 

正常的话启动成功, 接着直接输入自己需要测试的文件地址就行了。比如我的 http://localhost:3000/index.html

转载于:https://www.cnblogs.com/zxk5625/p/10895316.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值