nodejs搭建本地web服务

博客展示了用JavaScript搭建简易HTTP服务器的代码。在app.js中设置端口,引入相关模块,创建服务器处理请求,根据文件是否存在返回不同响应。在mime.js中说明启动方式,输入node app.js启动,再输入测试文件地址即可。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值