首页 > 编程语言 >nodejs轻量服务器后端

nodejs轻量服务器后端

时间:2023-08-19 14:35:43浏览次数:35  
标签:nodejs text image server var 服务器 js 轻量 response

nodejs轻量服务器后端

搭建思路

server.js主函数 + mine.js配置文件 + index.html 测试网页

server.js文件

var PORT = 8080;       //端口
var DIR = 'test1';     //用于存放html的目录

var http = require('http');
var url=require('url');
var fs=require('fs');
var mine=require('./mine').types;
var path=require('path');

var server = http.createServer(function (request, response) {
    var pathname = url.parse(request.url).pathname;
    var realPath = path.join(DIR, pathname);
    //console.log(realPath);
    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 = mine[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 + ".");

mine.js

exports.types = {
   "css": "text/css",
   "gif": "image/gif",
   "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"
}

测试网页自备index.html

<h1>hello world</h1>

执行脚本

node server.js

标签:nodejs,text,image,server,var,服务器,js,轻量,response
From: https://blog.51cto.com/u_16039153/7149312

相关文章

  • 服务器架设
    opencv安装pipinstallopencv-python依赖安装#libglvnd-1:1.3.2-1.tl3.x86_64#libglvnd-glx-1:1.3.2-1.tl3.x86_64#libxshmfence-1.3-2.tl3.x86_64#mesa-libGL-20.3.3-2.tl3.x86_64#mesa-libglapi-20.3.3-2.tl3.x86_64yuminstalllibGLstep1.准备环境re......
  • linux云服务器状态上报
    统计某文件夹下文件的个数ls-l|grep “^-”|wc-l统计某文件夹下目录的个数ls-l|grep“^d”|wc-l统计文件夹下文件的个数,包括子文件夹里的。ls-lR|grep“^-”|wc-l统计文件夹下目录的个数,包括子文件夹里的。ls-lR|grep“^d”|wc-l说明:ls-l长列表输出该目录下文件信息(......
  • NodeJs安装教程
    NodeJs中文网:https://nodejs.cn/download/NodeJs历史版本下载地址:https://nodejs.org/dist/本文演示的是NodeJs18,蓝奏云地址:https://wwxo.lanzouj.com/i8n3S15sp3zi一、Windows下安装NodeJs右键安装包进行安装,本文安装到:D:\NodeJs\node下, ......
  • 【教程】初识云函数,实现无需服务器的项目上云!
    转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn]你是否也在忧愁,想把自己的项目放在云上跑,但又不想花大价钱购买云服务器?云函数介绍        云函数(Serverless Cloud Function,SCF)的简单理解就是:可以部署在云上的项目,但不需要特地购买服务器,并且可以通过“定时/url访问......
  • Codespaces个性化后台服务器配置指南
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos前文概览在前文《浏览器上写代码,4核8G微软服务器免费用,Codespaces真香》中,咱们以一个Java程序员的视角体验了GitHub的Codespaces产品的beta版,用浏览器编码并运行,体验上接......
  • docker commit本地镜像发布至阿里云服务器
    一、镜像构成docker镜像文件是一层一层构建好的dokerpulltomcat拉取镜像时会发现docker镜像时一层层的下载dockerhistorytomcat 可以查看镜像构建的历史信息二、UnionFS文件系统UnionFS(联合文件系统):Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件......
  • NodeJS系列(12)- Next.js 框架 (五) | 样式 (Styling) 、部署(Deploying)
    在“NodeJS系列(8)-Next.js框架(一)|安装配置、路由(Routing)、页面布局(Layout)”里,我们简单介绍了Next.js的安装配置,创建了nextjs-demo项目,讲解和演示了Next.js项目的运行、路由(Routing)、页面布局(Layout)等内容。在“NodeJS系列(9)-Next.js框架(二)|国际化(i18n)、中......
  • tb自带mqtt服务器源码学习
     tb自带的mqtt服务器,是基于netty实现的启动类是:MqttTransportService,启动的配置参数如下图: 编排处理channel中数据的handler的是 MqttTransportServerInitializercontext的isProxyEnabled默认为flase,sslHandlerProvider是null所以处理数据的handler如下图圈中的 说......
  • 恒创科技:如何搭建游戏服务器?有哪些操作步骤
    ​选择游戏服务器提供商为确保游戏服务器的稳定运行和及时响应问题,选择一个正规、靠谱的游戏服务器提供商非常重要。选择服务器操作系统根据不同游戏的需求,选择适合的操作系统,通常可选择Linux或WindowsServer操作系统。上传、安装游戏程序根据不同游......
  • 鸟哥的Linux私房菜服务器架设篇
    第十九章:主机名控制器DNS服务器*INTERNIC国际域名与数字分配机构下的一个组织;1、DNS:domainnamesystem域名系统    ip<->主机名的映射;2、FQDN:fullyqualifieddomainname完整主机名;3、六大领域名:com(公司、企业)、org(组织、机构)、edu(教育单位)、gov(政府单位)、ne......