当前位置: 首页 > 后端技术 > Node.js

express框架的基本认识

时间:2023-04-03 23:56:11 Node.js

介绍*因为很久以前学过nodejs,现在语法规则忘记了,现在直接从框架入手,反其道而行之来理解nodejs。在nodejs中创建web服务器非常麻烦。使用了http模块,express框架就是用来优化这样一个过程的工具。在学习express框架的时候,发现它和vue的效果是一样的,在路由方面的用法也很相似。可能这就是为什么vue和express都叫框架,而express是服务端框架。*在终端安装,使用`cnpm/npminstallexpress`即可使用//需要绑定一个对象才能使用,所以constexpress=require('express');//绑定后,需要使用这个对象去创建一个web服务器constapp=express();//添加路由,get只能添加具体路由,如果是'/',404,但是use可以用,看下一篇app.get('/home',(req,res)=>{res.send("第一页")})//创建完成后,需要映射到一个端口函数app.listen(3000)//表示程序已经运行Addedconsole.log('end操作');基础功能如果只用基本的服务器创建,真的是浪费express,还包含了很多复杂的功能中间件//在回调函数旁边添加,在最后一行指定Targetapp.get('/home',(req,res,next)=>{console.log('跳转到下一条路由');next();})//下一条路由的地址保持不变app.get('/home',(req,res)=>{res.send('jumproutingcompleted')})//或者使用use接收所有信息,如果route为空,表示接收所有app。use((req,res)=>{res.send('跳转路由完成')})拦截中间件//如果网站正在维护,可以拦截所有请求app.use((req,res)=>{res.send('Thewebsiteisundermaintenance')})//如果出错则拦截app.get('/index',(req,res)=>{thrownewError('发生程序错误');})//使用use接收所有错误信息,这里必须填写nextapp.use((err,req,res,next)=>{//因为使用的框架,所以状态码会是200偶如果有错误,这里设置为500res.status(500).send(err.message);})拦截异步错误//引入一个异步模块constpromisify=require('util').promisify//引入读写模块constfs=require('fs')//使读写模块异步constreadFile=promisify(fs.readFile)app.get('/index',async(req,res,next)=>{try{//随便设置路径,让程序抛出错误awaitreadFile('doesnotexist.txt')}catch(err){next(err)}})app.use((err,req,res,next)=>{res.send(err)})路由模块化express中可以通过内置的构造函数router生成二级路由//创建路由对象consthome=express.Router();//使用use指向子路由app。use('/home',home)//子路由地址为/indexhome.get('/index',(req,res)=>{res.send('子路由模块')})中实际开发过程中一般两个路由写在主路由的不同文件中引入并执行路径匹配index.js:consthome=require('./home.js')app.use('/home',home)home.js:constexpress=require('express');consthome=express.Router();home.get('/index',(req,res)=>{res.send("欢迎来到主页")});module.exports=主页