全网整合营销服务商

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

免费咨询热线: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 模块的深度剖析与实战应用小结  # 创建一个  # 客户端  # 给大家  # 一个函数  # 就会  # 不是很  # 可以通过  # 希望能  # 不支持  # 所示  # 这篇  # 第三方  # 进去了  # 小编  # 服务端  # 大家多多  # 加载  # 你好  # 看上面  # 是可写流 


相关文章: 如何续费美橙建站之星域名及服务?  如何批量查询域名的建站时间记录?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  网站制作新手教程,新手建设一个网站需要注意些什么?  金*站制作公司有哪些,金华教育集团官网?  Swift中循环语句中的转移语句 break 和 continue  如何撰写建站申请书?关键要点有哪些?  如何用PHP快速搭建高效网站?分步指南  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  建站之星安装提示数据库无法连接如何解决?  建站主机如何选?性能与价格怎样平衡?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  定制建站是什么?如何实现个性化需求?  如何高效配置IIS服务器搭建网站?  宝塔新建站点为何无法访问?如何排查?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  如何在搬瓦工VPS快速搭建网站?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  如何快速搭建响应式可视化网站?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  建站之星展会模板:智能建站与自助搭建高效解决方案  网站图片在线制作软件,怎么在图片上做链接?  Python路径拼接规范_跨平台处理说明【指导】  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  淘宝制作网站有哪些,淘宝网官网主页?  北京制作网站的公司,北京铁路集团官方网站?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  高性能网站服务器部署指南:稳定运行与安全配置优化方案  小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  定制建站方案优化指南:企业官网开发与建站费用解析  中山网站推广排名,中山信息港登录入口?  如何在Windows服务器上快速搭建网站?  Java解压缩zip - 解压缩多个文件或文件夹实例  如何配置支付宝与微信支付功能?  西安大型网站制作公司,西安招聘网站最好的是哪个?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  建站之家VIP精选网站模板与SEO优化教程整合指南  建站之星微信建站一键生成小程序+多端营销系统  如何通过可视化优化提升建站效果?  如何在IIS服务器上快速部署高效网站?  如何用美橙互联一键搭建多站合一网站?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  如何制作算命网站,怎么注册算命网站?  如何设置并定期更换建站之星安全管理员密码?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  C++如何将C风格字符串(char*)转换为std::string?(代码示例) 

您的项目需求

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