使用Express创建Nodejs Web程序

基本的功能和开发环境

Express是node.js的一个Web应用程序开发框架,这里演示了如何用Express实现web应用程序的路由功能。Visual Studio Code是微软2015年发布的免费的跨平台代码编辑工具,支持Windows,Mac和Linux,下面介绍在学习express开发nodejs web应用时的基本过程时,截图中使用的是VSC。

新建目录和package

先新建一个目录myweb,然后在新建的目录下执行npm init建新的包。
新建包

之后执行npm install express安装express模块。

安装Express

新建index.js文件

在VSC的File菜单中选New File,创建一个名为index.js的文件如下:
先创建express的实例app
然后通过get方法,解析收到的get请求中的URL,来实现路由的功能,为简单起见,这里只是演示了根据请求的URL的不同,在控制台输出不同的值,而不是迁移到新的web页面。

  1. 调用get方法,当收到请求的URL中包含’listUsers‘时,调用回调函数,这里回调函数没有解析请求的内容,直接返回’Page contains all…’。
  2. get方法,当收到请求的URL中包含’/user*‘前缀时,返回’Request arrived for …’。
    最后创建node服务器的实例,添加一个监听端口8900,并且在控制台显示服务器地址和端口号
    index.js文件

运行index.js

在terminal窗口中输入node index.js,可以看到terminal窗口中显示出回调函数的输出‘server running at http://:::8900’,’::'表示服务器的地址是localhost
运行服务器

在浏览器中访问node服务器

在浏览器的地址栏中输入’localhost:8900/user name’并回车。服务器在收到请求后,解析请求的URL,匹配成功‘user’开头字符串,调用对应的回调函数,返回’Request arrived for user…’。
访问的URL中包含user开头的字符
如果在浏览器的地址栏中输入入’localhost:8900/listUsers’并回车,服务器在收到请求后,就会返回’Page contains all…’。 从而验证了用get函数实现路由的功能。
访问的URL中包含listUsers的字符

Express的Response对象的方法

下表是Express的response对象的一些重要的方法:
Express的Response对象的方法

用pm2管理Express应用

pm2是常用的node.js应用的管理工具。首先在terminal窗口中执行’npm install -g pm2’来安装pm2。
下面是使用pm2的一些基本功能来管理index.js应用的例子。
用pm2启动应用index.js,id为0的应用index被启动了。
用pm2启动应用index.js
可以看到应用index.js的状态online。
显示应用程序的状态
在terminal中输入pm2 monit。将显示pm2管理的应用如下:
pm2管理的应用
如果要停止indes.js应用的运行,执行‘pm2 stop index.js’,如果要停止所有的应用,可以执行’pm2 stop all’
用pm2停止应用后
执行pm2 delete index.js,删除应用index.js
可以看到id=0的应用被删除了。
id=0的应用被删除了
为了能使用多个应用的实例来管理和平衡负载,可以同时运行应用的多个实例。如,在Terminal窗口中执行:‘pm2 start index.js -i 5’, 会同时运行index.js的五个实例。在上图中显示的id 0~4的5个名为index的应用,就是同时开启了多个index.js的实例,同时运行同一应用的多个实例时,Mode显示为cluster,即多实例多进程,相应的fork表示单实例多进程。
同时运行多个实例来平衡负载

cluster的应用实例:
在Terminal窗口中执行npm install cluster,安装cluster模块。
在js文件中导入cluster模块,然后判断worker是否存在,不存在的话就创建3个worker。
cluster的使用例
运行cluster exercise.js
运行cluster exercise.js
三个worker被启动的窗口。
三个worker
尝试依次将三个worker窗口关闭。从pm2的监控窗口看到,当三个worker都被关闭时,在控制台显示’master at work…’,并再次启动三个worker。
监控cluster的状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值