这篇文章主要介绍了Nodejs中的http模块怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Nodejs中的http模块怎么使用文章都会有所收获,下面我们一起来看看吧。http 模块是 Node.js 官方提供的、用来创建 web 服务器的模块。通过 http 模块提供的 http.createServer() 方法,就能方便的把一台普通的电脑,变成一台 web 服务器,从而对外提供 web 资源服务。导入 http 模块创建 web 服务器实例为服务器实例绑定 request 事件,监听客户端的请求启动服务器示例:监听 8080 服务
//导入http模块 consthttp=require('http') //创建web服务器实例 constserver=http.createServer() //为服务器实例绑定request事件监听客户端的请求 server.on('request',function(req,res){ console.log('请求中...') }) //启动服务 server.listen(8080,function(){ console.log('http://127.0.0.1:8080') })
只要服务器接收到了客户端的请求,就会调用通过 server.on() 为服务器绑定的 request 事件处理函数示例:在事件处理函数中,访问与客户端相关的数据或属性
//导入http模块 consthttp=require('http') //创建web服务器实例 constserver=http.createServer() //req是请求对象包含了与客户端相关的数据和属性 server.on('request',(req)=>{ //req.url客户端请求的url地址 consturl=req.url //req.method是客户端请求的method类型 constmethod=req.method conststr=`Yourrequesturlis${url}andrequestmethodis${method}` console.log(str) }) //启动服务 server.listen(8080,function(){ console.log('http://127.0.0.1:8080') })
在服务器的 request 事件处理函数中,如果想访问与服务器相关的数据或属性,需要使用 response示例:请求响应
//导入http模块 consthttp=require('http') //创建web服务器实例 constserver=http.createServer() //req是请求对象包含了与客户端相关的数据和属性 server.on('request',(req,res)=>{ //req.url客户端请求的url地址 consturl=req.url //req.method是客户端请求的method类型 constmethod=req.method conststr=`Yourrequesturlis${url}andrequestmethodis${method}` console.log(str) //调用res.end()方法向客户端响应一些内容 res.end(str) }) //启动服务 server.listen(8080,function(){ console.log('http://127.0.0.1:8080') })
当调用 res.end() 方法,向客户端发送中文内容时,会出现乱码问题,需要手动设置内容的编码格式示例:解决中文乱码
//导入http模块 consthttp=require('http') //创建web服务器实例 constserver=http.createServer() //req是请求对象包含了与客户端相关的数据和属性 server.on('request',(req,res)=>{ //req.url客户端请求的url地址 consturl=req.url //req.method是客户端请求的method类型 constmethod=req.method conststr=`请求地址是${url}请求方法是${method}` console.log(str) //设置Content-Type响应头解决中文乱码问题 res.setHeader('Content-Type','text/html;charset=utf-8') //调用res.end()方法向客户端响应一些内容 res.end(str) }) //启动服务 server.listen(8080,function(){ console.log('http://127.0.0.1:8080') })
示例:步骤如下获取请求的 url 地址设置默认的响应内容为 404 Not found判断用户请求的是否为 / 或 /index.html 首页判断用户请求的是否为 /about.html 关于页面设置 Content-Type 响应头,防止中文乱码使用 res.end() 把内容响应给客户端
//导入http模块 consthttp=require('http') //创建web服务器实例 constserver=http.createServer() //req是请求对象包含了与客户端相关的数据和属性 server.on('request',(req,res)=>{ //req.url客户端请求的url地址 consturl=req.url //设置默认的内容为404NotFound letcontent='404NotFound!
' //用户请求页是首页 if(url==='/'||url==='/index.html'){ content='首页
' }elseif(url==='/about.html'){ content='关于页面
' } //设置Content-Type响应头防止中文乱码 res.setHeader('Content-Type','text/html;charset=utf-8') //调用res.end()方法向客户端响应一些内容 res.end(content) }) //启动服务 server.listen(8080,function(){ console.log('http://127.0.0.1:8080') })
内置模块:由 node.js 官方提供的,如 fs、免费云主机、域名path、http 等自定义模块:用户创建的每个 .js 文件,都是自定义模块第三方模块:由第三方开发出来的模块,使用前要先下载防止了全局变量污染的问题示例:index.js 文件
constusername='张三' functionsay(){ console.log(username); }
test.js 文件
constcustom=require('./index') console.log(custom)
在自定义模块中,可以使用 module.exports 对象,将模块内的成员共享出去,供外界使用。外界 require() 方法导入自定义模块时,得到的就是 module.exports 所指向的对象示例:index.js 文件
constblog='前端杂货铺' //向module.exports对象上挂载属性 module.exports.username='李四' //向module.exports对象上挂载方法 module.exports.sayHello=function(){ console.log('Hello!') } module.exports.blog=blog
test.js 文件
constm=require('./index') console.log(m)
使用 require() 方法导入模块时,导入的结果,永远以 module.exports 指向的对象为准示例:index.js 文件
module.exports.username='李四' module.exports.sayHello=function(){ console.log('Hello!') } //让module.exports指向一个新对象 module.exports={ nickname:'张三', sayHi(){ console.log('Hi!') } }
test.js 文件
constm=require('./index') console.log(m)
默认情况下,exports 和 module.exports 指向同一个对象。最终共享的结果,还是以 module.exports 指向的对象为准。示例:index1.js 文件
exports.username='杂货铺' module.exports={ name:'前端杂货铺', age:21 }
index2.js 文件
module.exports.username='zs' exports={ gender:'男', age:22 }
index3.js 文件
exports.username='杂货铺' module.exports.age=21
index4.js 文件
exports={ gender:'男', age:21 } module.exports=exports module.exports.username='zs'
对 index2.js 文件结果的解析如下:
对 index4.js 文件结果的解析如下:
注意:为防止混乱,尽量不要在同一个模块中同时使用 exports 和 module.exports关于“Nodejs中的http模块怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Nodejs中的http模块怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注云技术行业资讯频道。
本篇内容介绍了“javascript如何删除const”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 一、什么是const变量在Javascript中,使用co…