node.js(2):使用Express创建Web服务器
2022/1/23 11:04:32
本文主要是介绍node.js(2):使用Express创建Web服务器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Express是一个基于Node.js开发出来的专门用来创建Web服务器的框架。
它的作用与Node.js的内置http模块类似,或者说它就是基于node.js内置http模块来开发的,它与http模块的关系类似于Jquery与WebAPI的关系,但它比http模块在功能上更为高效和强大,也更方便开发者使用。
使用Express可以开发Web网站或者提供API接口的服务器。
使用Node.js做开发,少不了安装一些第三方的开发包。之前我使用的网络有代理,一直安装不上第三方包,昨天安装了一个无线网卡,使用手机流量直接上外网,安装就顺畅了。
REM 切换npm下载包的镜像源为淘宝的npm服务器。 npm config set registry=https://registry.npm.taobao.org/ REM 查看镜像源设置: npm config get registry
新建一个目录,在该目录下(cmd命令窗口)执行初始化命令:
npm init -y
即可在该目录下生成一个package.json文件,然后再下载其他的第三方包。
Express的官网地址:http://www.expressjs.com.cn。
安装:npm i express@4.17.2
js程序文件是通过node程序来加载、启动运行的,如果更改程序文件内容,需要我们人为中断运行的程序,然后再次调用node来执行新的程序。
而nodemon(第三方的开发包)可以帮助我们来去掉这些麻烦,使用它来运行我们写的程序后,我们更改了程序内容,保存后nodemon会自动中断旧的程序后重启最新的程序,这样就保证了最新的内容被执行。
安装:npm i -g nodemon
1、做静态资源发布的网站
//导入express const express=require('express') //创建web服务器 const app=express() //发布当前目录下OASoft目录的所有内容,通过http://127.0.0.1:9019/download/来访问 //download相当于虚拟目录名称 app.use('/download',express.static('./OASoft')) //发布当前目录下workdocs目录的所有内容,通过http://127.0.0.1:9019/doc/来访问 //doc相当于虚拟目录名称 app.use('/doc',express.static('./workdocs')) //启动web服务器 app.listen(9019,()={ console.log('webserver 正在运行......http://127.0.0.1:9019') }) //运行: //nodemon useExpress.js
2、做动态内容发布的服务器
类似于IIS和Apache的功能,发布网站同时监听来自客户端浏览器的各种请求、响应并返回具体的内容。
客户端的请求多种多样,在服务器端都有对应的函数来处理,这种关系称之为映射,在Express中称之为路由。
主文件ZTB_Main.js代码:
//导入express模块 const express=require('express') //创建Web服务器 const app=express() //导入路由模块 //自定义模块必须加上路径名,文件后缀可以省略,内置模块和下载的第三方模块不需要加 const ZTB_router=require('./ZTB_router.js') //注册全局路由模块 app.use('/ZTB',ZTB_router) //启动web服务器 app.listen(9019,()=>{ console.log('Web服务器正在运行......') })
路由文件ZTB_router.js代码:
//导入express var express=require('express') //创建路由对象 var router=express.Router() router.get('/add',function(req,res){ //处理增加 //返回结果 console.log('增加操作') res.send('增加操作') }) router.post('/del',function(req,res){ //处理删除 //返回结果 console.log('删除操作') res.send('删除操作') }) //对外导出路由对象 module.exports=router
说明:
1、路由很多,单独写在一个文件里,对外共享路由对象即可,具体步骤:
① 创建一个单独的路由处理模块的.js文件;
② 导入express并创建路由对象;
③ 在路由对象上加载具体的路由及处理函数;
④ 对外共享路由对象。
2、路由及处理格式:
app.get(‘/’,function(req,res){ res.send(‘这是来自主页的get请求’) }) app.post(‘/’,function(req,res){ res.send(‘这是来自主页的psot请求’) }) //等价于 app.get(‘/’,( req , res ) => { res.send(‘这是来自主页的get请求’) }) app.post(‘/’,( req , res ) => { res.send(‘这是来自主页的psot请求’) })
3、主程序引入路由文件,使用app.use注册路由模块即可监听来自网页的请求;
app.use('/ZTB',ZTB_router),ZTB即为访问前缀。
4、使用ApiPost来测试请求及返回的结果,分别是:
① http://127.0.0.1:9019/ZTB/add (get请求)
② http://127.0.0.1:9019/ZTB/del (post请求)
ApiPost是一款很方便的前端开发测试工具。
这篇关于node.js(2):使用Express创建Web服务器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16Vue3资料:新手入门必读教程
- 2024-11-16Vue3资料:新手入门全面指南
- 2024-11-16Vue资料:新手入门完全指南
- 2024-11-16Vue项目实战:新手入门指南
- 2024-11-16React Hooks之useEffect案例详解
- 2024-11-16useRef案例详解:React中的useRef使用教程
- 2024-11-16React Hooks之useState案例详解
- 2024-11-16Vue入门指南:从零开始搭建第一个Vue项目
- 2024-11-16Vue3学习:新手入门教程与实践指南
- 2024-11-16Vue3学习:从入门到初级实战教程