分享更有价值
被信任是一种快乐

Nodejs中的http模块怎么使用

文章页正文上

这篇文章主要介绍了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

本篇内容介绍了“javascript如何删除const”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 一、什么是const变量在Javascript中,使用co…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册