web开发node.js实现web服务器(express模块)(代码片段)

author author     2022-12-04     177

关键词:

1、简介

1.1 node.js

官网地址:https://nodejs.org/

Node.js 是一个开源和跨平台的 JavaScript 运行时环境。它是几乎任何类型的项目的流行工具! Node.js 在浏览器之外运行 Google Chrome 的核心 V8 JavaScript 引擎。这使得 Node.js 非常高效。

1.2 express

官网地址:https://www.npmjs.com/package/express Fast, unopinionated, minimalist web framework for node.

Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。使用Express可以快速地搭建一个完整功能的网站。

Express 框架核心特性包括:

  • 可以设置中间件来响应HTTP请求。
  • 定义了路由表用于执行不同的HTTP请求动作。
  • 可以通过向模板传递参数来动态渲染HTML页面。

2、安装express库

npm install express
or
npm install express --save
or 
npm install express -g

3、express框架

Express应用使用回调函数的参数: request和response对象来处理请求和响应的数据。 request和response对象的具体介绍:

3.1 Request 对象

  • request对象表示HTTP请求,包含了请求查询字符串,参数,内容,HTTP头部等属性。常见属性有: req.app:当callback为外部文件时,用req.app访问express的实例 req.baseUrl:获取路由当前安装的URL路径 req.body / req.cookies:获得「请求主体」/ Cookies req.fresh / req.stale:判断请求是否还「新鲜」 req.hostname / req.ip:获取主机名和IP地址 req.originalUrl:获取原始请求URL req.params:获取路由的parameters req.path:获取请求路径 req.protocol:获取协议类型 req.query:获取URL的查询参数串 req.route:获取当前匹配的路由 req.subdomains:获取子域名 req.accpets():检查请求的Accept头的请求类型 req.acceptsCharsets / req.acceptsEncodings / req.acceptsLanguages req.get():获取指定的HTTP请求头 req.is():判断请求头Content-Type的MIME类型

3.2 Response 对象

  • response对象表示HTTP响应,即在接收到请求时向客户端发送的HTTP响应数据。常见属性有:

res.app:同req.app一样 res.append():追加指定HTTP头 res.set()在res.append()后将重置之前设置的头 res.cookie(name,value [,option]):设置Cookie opition: domain / expires / httpOnly / maxAge / path / secure / signed res.clearCookie():清除Cookie res.download():传送指定路径的文件 res.get():返回指定的HTTP头 res.json():传送JSON响应 res.jsonp():传送JSONP响应 res.location():只设置响应的Location HTTP头,不设置状态码或者close response res.redirect():设置响应的Location HTTP头,并且设置状态码302 res.send():传送HTTP响应 res.sendFile(path [,options] [,fn]):传送指定路径的文件 -会自动根据文件extension设定Content-Type res.set():设置HTTP头,传入object可以一次设置多个头 res.status():设置HTTP状态码 res.type():设置Content-Type的MIME类型

4、代码示例

4.1 官方示例1

接下来我们使用Express框架来输出"Hello World"。 以下实例中我们引入了express模块,并在客户端发起请求后,响应"Hello World"字符串。 创建express_demo.js文件,代码如下所示:

const express = require(express)
const app = express()

app.get(/, function (req, res) 
  res.send(Hello World)
)

app.listen(3000)

4.2 官方示例2

Install the executable. The executables major version will match Expresss:

npm install -g express-generator@4

Create the app:

express tmp/foo && cd tmp/foo

Install dependencies:

npm install

Start the server:

npm start
or
node bin/www

View the website at: http://localhost:3000

4.3 官方示例3

为了解决fatal: remote error: The unauthenticated git protocol on port 9418 is no longer support。执行如下代码:

git config --global url."https://".insteadOf git://

To view the examples, clone the Express repo and install the dependencies:

git clone git://github.com/expressjs/express.git --depth 1
cd express
npm install

Then run whichever example you want:

node examples/content-negotiation

后记

使用express.js框架一步步实现基本应用以及构建可扩展的web应用

...在家琢磨了express.js的web框架。 框架的作用就是提高开发效率,快速产出结果。即使不使用框架,我们也会在开发过程中逐渐形成构成框架。 大多数的node.js项目中都会用到express.js 目录:一、什么是express.js框架二、ex... 查看详情

node.js的web后端开发调研

...输入输出模型等技术提高性能可以理解为Node.js就是一个服务器端的、非阻塞式I/O的、事件驱动的Java 查看详情

node.js学习03:web开发的本质

...质牢记以下三点请求,客户端发起请求。处理,服务器处理请求。响应,服务器将处理结果发送给客户端对比一个单机版计算器和Web版计算器客户端处理响应服务器响应完毕后,客户端继续处理:浏览器:... 查看详情

使用node.js原生api写一个web服务器

...者应该天生就会一点。一般我们会用它来做CLI工具或者Web服务器,做Web服务器也有很多成熟的框架,比如Express和Koa。但是Express和Koa都是对Node.js原生API的封装,所以其实不借助任何框架,只用原生API我们也能写一个Web服务器出来... 查看详情

node.js网络编程(上)web基础知识实现http及getpost的创建(代码片段)

文章目录Web基础知识HTTP服务器与客户端(重要)HTTP基础http模块创建HTTP服务器和客户端GET请求和POST请求Web基础知识Web服务器:又称为网站服务器,主要用于提供网上信息浏览服务常见的Web服务器软件有ApacheHTTPServ... 查看详情

node.js作web服务器总结

...  首先,我们都清楚的是,同时接收数量众多的请求是服务器非常常见的情况。而web应用程序架构(包括流量、处理器速度和内存速度)中的瓶颈在于:服务器能够处理的并发连接的最大数量。解决这个瓶颈,有三种方法:①... 查看详情

web学习-node.js入门学习(代码片段)

....4fs模块-路径动态拼接的问题2.4path路径模块2.5http模块2.5.1服务器相关的概念2.5.2创建最基本的web服务器2.5.3根据不同的url响应不同的html内容3.模块化3.1模块化的基本概念3.2Node.js中模块的分类3.2.1加载模块3.2.2模块作用域3.2.3向外共... 查看详情

如何在 node.js 服务器上的 PHP Web 服务器和 Socket.io 之间创建握手?

】如何在node.js服务器上的PHPWeb服务器和Socket.io之间创建握手?【英文标题】:HowtocreateahandshakebetweenPHPwebserverandSocket.ioonnode.jsserver?【发布时间】:2015-12-2003:23:18【问题描述】:我有一个websocket在服务器10.0.4.18的8020端口上的node.js4... 查看详情

基于nodejs的14款web框架

摘要:在几年的时间里,Node.js逐渐发展成一个成熟的开发平台,吸引了许多开发者。有许多大型高流量网站都采用Node.js进行开发,像PayPal,此外,开发人员还可以使用它来开发一些快速移动Web框架。下面就介绍14款基于Node.js的Web... 查看详情

青训营node.js基础-web应用开发-开发调试-线上部署(代码片段)

文章目录Web应用开发HTTP模块Koa介绍中间件常用中间件基于Koa的前端框架调试断点调试日志调试线上部署利用多核CPU进程守护复杂计算前端开发与后端开发对比前几天学了一些Node.js的基础,今天来学习Web应用开发,在开发... 查看详情

前后端的身份认证丨node.js数据库与身份认证

目录一、Web开发模式 1.1Web开发模式1.2身份认证1.3Session认证机制1.4在Express中使用Session认证1.5JWT认证机制1.6在Express中使用JWT Node.js前篇回顾:一、Web开发模式目前主流的Web开发模式有两种,分别是:①基于服务端渲染... 查看详情

[node.js]web模块

摘要什么是web服务器?web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL,与客户端的网络浏览器配合。大多数web服... 查看详情

区块链利用node.js开发与合约交互的web界面

利用Node.js开发与合约交互的Web界面参考地址:hereandhere零、在私有链上部署合约//本文中用到的MetaCoin合约pragmasolidity^0.4.2;contractMetaCoinmapping(address=>uint)balances;eventTransfer(addressindexed_from,addressindexed_to 查看详情

node.js介绍与安装

...  node.js的首要目标是提供一种简单、用于创建高性能服务器及可在该服务器中运行的各种应用程序的开发工具。node.js的优势在于实现里高性能服务器,采用非阻塞型I/O及事件环机制。严格地讲,node.js是一个用于开发各种web服... 查看详情

学习node.js搭建web服务器

开始学习使用node.js首先完成搭建一个web服务器。myweb.js1varhttp=require(‘http‘);2varurl=require(‘url‘);3varhostname=‘127.0.0.1‘;4varport=3000;5varbodystr="";6varserver=http.createServer(function(req,res){7res.statusCode 查看详情

node.js上除了express还有哪些好用的web开发框架

 老司机都有体会, 开发本身没有多难, 最纠结其实是最初的技术和框架选型, 本没有绝对的好坏之分, 可一旦选择了不适合于自己业务场景的框架, 将来木已成舟后开发和维护成本都很高, 等发现不合适的... 查看详情

Node.js 同时运行一个 http 服务器和 web socket 服务器

】Node.js同时运行一个http服务器和websocket服务器【英文标题】:Node.jsrunninganhttpserverandwebsocketserverconcurrently【发布时间】:2018-04-2208:44:12【问题描述】:我一直在尝试实现一个从特定计算机接收POST请求的HTTP服务器。然后,HTTP服... 查看详情

web开发ubuntu系统手动搭建node.js环境(代码片段)

1、简介1.1ubuntuhttps://cn.ubuntu.com/download/desktopUbuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu"一词。1.2node.jshttps://nodejs.org/en/Node.js是一个开源和跨平台的JavaScript运行时环境。它几乎是... 查看详情