位置: 编程技术 - 正文

轻松创建nodejs服务器(2):nodejs服务器的构成分析(node.js创建服务)

编辑:rootadmin

推荐整理分享轻松创建nodejs服务器(2):nodejs服务器的构成分析(node.js创建服务),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:如何创建node项目,搭建nodejs,创建nodejs项目的步骤,node创建服务,如何使用nodejs创建web服务器,node.js创建服务,如何使用nodejs创建web服务器,node.js创建服务,内容如对您有帮助,希望把文章链接给更多的朋友!

紧接上一节,我们来分析一下代码:

第一行请求(require)Node.js自带的 http 模块,并且把它赋值给 http 变量。

接下来我们调用http模块提供的函数: createServer 。

这个函数会返回一个对象,这个对象有一个叫做 listen 的方法,这个方法有一个数值参数,指定这个HTTP服务器监听的端口号。

为了提高可读性,我们来改一下这段代码。

原来的代码:

可以改写成:

我们定义了一个onRequest()函数,并将它作为参数传给createServer,类似回调函数。

轻松创建nodejs服务器(2):nodejs服务器的构成分析(node.js创建服务)

我们给某个方法传递了一个函数,这个方法在有相应事件发生时调用这个函数来进行回调,我们把这叫做基于事件驱动的回调。

接下来我们看一下onRequest() 的主体部分,当回调启动,我们的 onRequest() 函数被触发的时候,有两个参数被传入: request 和 response 。

request : 收到的请求信息;

response : 收到请求后做出的响应。

所以这段代码所执行的操作就是:

当收到请求时,

1、使用 response.writeHead() 函数发送一个HTTP状态 和 HTTP头的内容类型(content-type)

2、使用 response.write() 函数在HTTP相应主体中发送文本“Hello World”。

3、调用 response.end() 完成响应。

这样分析,是不是加深了你对这段代码的理解呢?

下一节我们来了解一下,nodejs的代码模块化。

轻松创建nodejs服务器(3):代码模块化 nodejs的功能块大都以模块的形式存在的。通常会有一个统一入口index.js,然后调用不同的模块来完成我们需要的功能。我们先来看看怎么把server.js变成一

轻松创建nodejs服务器(4):路由 服务器需要根据不同的URL或请求来执行不一样的操作,我们可以通过路由来实现这个步骤。第一步我们需要先解析出请求URL的路径,我们引入url模块。

轻松创建nodejs服务器(5):事件处理程序 为了对不同请做出不同的反馈,我们引入一个事件处理器的模块。该模块命名为requestHandlers,我们先添加start()和upload()两个占位函数。requestHandlers.js代

标签: node.js创建服务

本文链接地址:https://www.jiuchutong.com/biancheng/374196.html 转载请保留说明!

上一篇:轻松创建nodejs服务器(1):一个简单nodejs服务器例子(搭建nodejs)

下一篇:轻松创建nodejs服务器(3):代码模块化(node创建服务)

  • 金税三期的主要系统
  • 年终奖怎么计税的
  • 出售投资性房地产取得的收入
  • 赠送代金券的广告语
  • 其他债券投资有减值,为什么其他权益工具投资没有减值
  • 企业专家咨询费标准
  • 递延收益影响当期损益吗
  • 定额发票怎么验证真伪
  • 企业销售不动产增值税政策
  • 销货方跨月开红字发票流程
  • 房地产开发企业预缴增值税
  • 不征收耕地占用税的情形
  • 以前借款没做账现在收回来怎么做账务处理?
  • 房地产公司扣减土地出让金怎么入账?
  • 安装服务异地施工增值税在哪交
  • 增值税专用发票有效期是多长时间
  • 年终奖个税公式表最新
  • 购进农产品再销售
  • 土地溢价的成本包括
  • 广告业的其他应收款包括哪些?
  • 如何使用腾讯手机管家
  • 增值税专用发票和普通发票的区别
  • 以土地使用权出资入股未办过户能否抽回
  • 融资租赁租金计算公式
  • 跨月的成本费用如何,调整
  • 提供给生产工人的住房的租赁费用应计入
  • 如何调整往来账款
  • 删除桌面上的图标用什么键
  • php实现文件下载功能
  • 补充养老保险的特点
  • 什么叫奖励旅游
  • 场地租赁费需要计提吗
  • 解决laravel 5.1报错:No supported encrypter found的办法
  • PyTorch深度学习实战 | 神经网络的优化难题
  • php实现会话的步骤
  • 工业总产值和营业收入区别
  • 私人帐户可以转账给对公账户吗
  • 补充医疗保险会查hiv吗
  • 软件公司股权
  • 2022年最新装修风格
  • 织梦专题页模板
  • sql2014附加数据库失败
  • 劳务派遣工资的发放单位
  • 资金托管账户的钱能查到吗
  • 工会经费付款分录
  • 理财产品怎么收费
  • 记账凭证后面附什么原始凭证
  • 车船使用税和印花税谁交
  • 建筑租赁公司账务处理
  • 分公司和总公司在一个地方
  • 软件企业确认收入
  • 房屋租赁公司装修费会计分录
  • 总账和明细账的区别与联系
  • 多个客户账款明细
  • mysql缩进快捷键
  • mysql union join
  • sql中函数 判断是否是null
  • chcfg.exe是什么
  • win7鼠标点了没反应
  • Win10预览版怎么变回正式版
  • 用diskgenius硬盘格式转换怎么使用
  • mac如何自行检测硬盘信息
  • win10如何禁用windows defender
  • windows10右键菜单
  • linux怎样使用
  • Node.js Sequelize如何实现数据库的读写分离
  • 搭建android开发环境时为什么要先安装jdk
  • 关于加载失败壁纸
  • 置顶聊天的人怎么不见了
  • express框架作用
  • python灰度变换
  • android 快速开发工具
  • javascript函数
  • css实现遮罩层
  • 按犍设置
  • 怎么知道自己的城乡属性
  • 公司注销报税怎么申报
  • 海南省税务局网站
  • 江西省抚州市黎川县洵口镇
  • 关于小规模纳税人的说法正确的有
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设