如下所示:
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小时内与您取得联系。