全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

node.js 核心http模块,起一个服务器,返回一个页面的实例

如下所示:

let http=require("http"); //引入核心http模块
let fs=require("fs");
let mime={
 '.js':'application/javascript',
 '.css':'text/css'
}
//创建一个函数,req代表客户端,res代表服务器可写流
let listener=(req,res)=>{
//res是可写流,有write和end

 if(req.url==="/"){
  //设置编码
  res.setHeader('Content-Type','text/html;charset=utf-8');
  fs.createReadStream('index.html').pipe(res);
 }else{
  if(fs.existsSync(`.${req.url}`)) {
   res.setHeader('Content-Type',mime[req.url.match(/\.\w+$/)[0]] +';charset=utf-8');
   fs.createReadStream(`.${req.url}`).pipe(res);
  }else{
   res.statusCode=404;
    res.end();
  }
 }

}
let port=8080;
//创建一个服务,放入一个监听函数,
let server=http.createServer(listener);
//
server.listen(port,function () {
 //启动成功后
 console.log(`start${port}`);
})

看上面代码,我们需要先创建三个文件

index.html

index.css

index.js

html文件里面,我们要引进css和js文件

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <!--服务端引用路径不支持相对路径-->
 <link rel="stylesheet" href="index.css" rel="external nofollow" >
 <script src="index.js"></script>
</head>
<body>
<div>你好,帅吗</div>
</body>
</html>

我们运行上面js文件时候,就会创建一个静态服务器,端口8080

然后返回客户端一个index.html文件

浏览器渲染这个html文件,我们对应的css和js就加载进去了

其实上面写法不是很简便,node里面有模块解决路径获取后缀名的问题,还有路径问题

let http=require("http"); //引入核心http模块
let fs=require("fs");
let mime=require("mime"); //解决文件类型
let url=require("url");
//创建一个函数,req代表客户端,res代表服务器可写流
let listener=(req,res)=>{
//res是可写流,有write和end
 let {query,pathname}=url.parse(req.url,true);
 if(pathname==="/"){
  //设置编码
  res.setHeader('Content-Type','text/html;charset=utf-8');
  fs.createReadStream('index.html').pipe(res);
 }else{
  if(fs.existsSync(`.${pathname}`)) {
   //mime 第三方包 npm install mime --save
   //mime.lookup可以通过文件路径后缀判断是什么类型的
   res.setHeader('Content-Type', mime.lookup(pathname)+';charset=utf-8');
   fs.createReadStream(`.${pathname}`).pipe(res);
  }else{
   res.statusCode=404;
   res.end();
  }
 }

}
let port=8080;
//创建一个服务,放入一个监听函数,
let server=http.createServer(listener);
//
server.listen(port,function () {
 //启动成功后
 console.log(`start${port}`);
})

以上这篇node.js 核心http模块,起一个服务器,返回一个页面的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# nodejs  # http模块  # Node.js使用http模块实现后台服务器流程解析  # Node.js 搭建后端服务器内置模块( http+url+querystring 的使用)  # Node.js基础入门之path模块  # url模块  # http模块使用详解  # 基于Node.js的http模块搭建HTTP服务器  # node.js使用http模块创建服务器和客户端完整示例  # Node.js进阶之核心模块https入门  # node.js中http模块和url模块的简单介绍  # Node.js中Request模块处理HTTP协议请求的基本使用教程  # Node.js 中 http 模块的深度剖析与实战应用小结  # 创建一个  # 客户端  # 给大家  # 一个函数  # 就会  # 不是很  # 可以通过  # 希望能  # 不支持  # 所示  # 这篇  # 第三方  # 进去了  # 小编  # 服务端  # 大家多多  # 加载  # 你好  # 看上面  # 是可写流 


相关文章: 高性能网站服务器部署指南:稳定运行与安全配置优化方案  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  独立制作一个网站多少钱,建立网站需要花多少钱?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  如何配置FTP站点权限与安全设置?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  如何在宝塔面板中创建新站点?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  ,南京靠谱的征婚网站?  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  临沂网站制作公司有哪些,临沂第四中学官网?  如何在Golang中使用replace替换模块_指定本地或远程路径  网站专业制作公司有哪些,做一个公司网站要多少钱?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  ,sp开头的版面叫什么?  如何快速搭建响应式可视化网站?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  浅谈Javascript中的Label语句  网站插件制作软件免费下载,网页视频怎么下到本地插件?  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  C++如何使用std::optional?(处理可选值)  建站之星logo尺寸如何设置最合适?  如何快速建站并高效导出源代码?  完全自定义免费建站平台:主题模板在线生成一站式服务  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  深圳网站制作案例,网页的相关名词有哪些?  安云自助建站系统如何快速提升SEO排名?  C#如何在一个XML文件中查找并替换文本内容  公司网站设计制作厂家,怎么创建自己的一个网站?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  定制建站流程步骤详解:一站式方案设计与开发指南  css网站制作参考文献有哪些,易聊怎么注册?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  在线制作视频网站免费,都有哪些好的动漫网站?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  建站之星后台管理系统如何操作?  建站中国官网:模板定制+SEO优化+建站流程一站式指南  如何做网站制作流程,*游戏网站怎么搭建?  如何实现建站之星域名转发设置?  深圳网站制作平台,深圳市做网站好的公司有哪些?  如何选择高效稳定的ISP建站解决方案?  常州自助建站费用包含哪些项目?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  建站之星后台密码遗忘如何找回?  如何在宝塔面板创建新站点?  ui设计制作网站有哪些,手机UI设计网址吗?  营销式网站制作方案,销售哪个网站招聘效果最好?  如何配置支付宝与微信支付功能? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。