分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

Node ?ejs

发布时间:2023-09-06 02:19责任编辑:沈小雨关键词:jsNode

//next
路由句柄:一个函数,多个函数,函数数组,两者混合
1.next作用:移交控制权,确保所有注册的中间件被一个接一个的执行
2.如果当前中间件没有终结请求res.end,res.send,res.render,并且next没有被调用,那么请求将被挂起,后边定义的中间件将的不到被执行的机会
3.一个路由只能调用一种结束响应的方式,或只能结束响应或调用next移交控制权
4.什么时候调用next/res.end() ????当定义的中间件终结了本次请求,就不应该再调用next函数,如果下面定义的中间件还有执行的必要,则继续调用next

next()将控制权交给下一个处理器函数
next(‘route’) 跳过当前处理器函数,直接将控制权交给下一个路由(路径相同)

如果通过set ?port=8080这条命令设置了环境变量的端口欧,那么就用环境变量的端口,否则默认的3000
port=process.env.PORT||3000

中间件是一个函数,它可以访问请求对象(req),响应对象(res),和web应用中处于请求,响应循环流程中的额中间件,一般命名为next的变量
中间件的功能:
1.可以执行任意代码
2.可以修改req,res对象
3.可以终止响应循环流程 ??res.end()
4.可以调用堆栈中的下一个中间件 ?next()

应用级中间件
应用级中间件绑定到app对象,使用app.use()和app.METHOD()
app.use([虚拟路径],ck) ???1-多
当不挂载路径时,任意请求都会指向该中间件
1.绑定app
2.三个参数req,res,next


ejs
1.下载+引入ejs
2.新建一个以ejs为后缀名的文件
3.统一设置末班引擎的路径 ?app.set(‘views‘,path.resolve(末班引擎))
注:应用会根据app.set的第二个参数和res.render里的第一个参数拼接后的路径去寻找对应的文件,若res.render的第二个参数提供的是相对路径,则默认去views文件夹下去寻找文件
4.统一设置模板引擎app.set(‘view engine‘,‘类型‘)
注:类型其实就是当前文件的后缀名
5.渲染模板引擎
res.render(模板引擎文件名,【对象】)
注:第二个参数的数据类型必须是对象,表示后台给前端所传递的json数据
<% js %>解析、执行js
<%=data%>转义输出
<%-‘data‘%>非转义输出
<%#data%>注释

1.locals是app和res对象下的属性,该属性值是一个对象
2.locals的作用是将值传递到所渲染的模板引擎中
3.区别 app.locals可以贯穿应用的整个生命周期,与其相反的是,res.locals只在当前请求的生命周期中有效
app.locals中可以定义一些共享的数据
将html转为ejs
app.engine(‘html‘,ejs.renderFile)
app.engine(‘html‘,ejs.__express)

Node ?ejs

原文地址:https://www.cnblogs.com/mapsxy/p/9824218.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved