3月31日知识点
- 日考知识点自己复习
- express的六个方法背写熟练(express入门案例)
- EJS是什么?
3月31日
express是什么?
- express是Node.js服务器的框架。
- express是一个Node.js的模块。
1、express()
定义
- Express()是该框架的核心函数。
-
express()
用于创建一个APP(Node.js + Express)。 -
express()
函数是一个顶级函数。
语法
const express = require('express')//引入模块
const app = express()//暴露函数 成为顶级函数
express()的方法
- express.json()
- express.static()
- express.Router()
- express.urlencoded()
返回值
示例
2、 app.get()
定义
app.get()
方法通过回调函数处理GET请求。
官方:通过回调函数把请求路由到指定路径。
语法
app.get(path,callback)
app.get('请求地址',回调函数) //=> 中间件函数(勾子函数)
app.get('/', (req, res) => {
console.log(req) //req就是Node.js的request对象
console.log(res)//res就是Node.js的response对象
})
返回值
示例
3、app.use()
定义
app.use()
在指定路径上挂载中间件函数。
语法
app.use([path,] callback [, callback...])
app.use('路径', 回调函数)
app.use('/about',() => {})
app.use(() => {}) //不写路径,那意味着所有路径都会执行回调
返回值
示例
4、app.listen()
定义
app.listen()
用于为app绑定监听,监听主机端口是否有请求进来。此方法与 Node 的 http.Server.listen() 相同。
语法
app.listen([port[, host[, backlog]]][, callback])
app.listen(端口号,主机名,回调函数)
返回值
示例
5、res.sendFile()
定义
按照指定路径发送响应数据(作为响应数据)。
- 根据文件扩展名设置 Content-Type 响应 HTTP 标头字段。
- 除非在选项对象中设置了根选项,否则路径必须是文件的绝对路径。
语法
res.sendFile(path [, options] [, fn])
res.sendFile('路径' {选项对象},回调函数)
- path必须是一个绝对路径
- path如果是一个相对路径,那么你必须在选项对象中设置根选项。
返回值
示例
options
定义
options
就是选项对象。
- 它是一个对象
- 对象里存储的是一些属性参数。
{
path:'',
chaset: 'utf-8'
}
6、 res.status()
定义
设置响应的 HTTP 状态码。支持链式调用
语法
res.status(403).end()
res.status(400).send('Bad Request')
res.status(400).sendFile('/absolute/path/404.png')
返回值
返回响应对象。
示例
7、ejs是什么?
- ejs是 Embedded JavaScript templating的缩写,
- ejs的意思:嵌入js的HTML模版(不是嵌入到
<script>
里)。 - ejs是面向服务端的
- ejs是在服务端把js嵌入到html页面里
- 服务端解析ejs语法 => 翻译成html
- 把编译后的html返给浏览器端
- ejs实现的功能类似于php实现的功能:动态渲染数据到HTML页面里。
- JS是面向浏览器端的脚本语言。
- PHP是面向服务端的脚本语言。
- 为什么能够解析PHP,因为服务端安装了PHP软件
//ejs代码
<ul>
<% users.forEach(function(user){ %>
<%- include('user/show', {user: user}); %>
<% }); %>
</ul>
8、 app.set()
定义
app.set()
方法用于:1.存储自定义值 2.配置服务器行为。
服务器行为有些特殊的字段,用于配置服务器行为:
9、 res.render()
定义
render()
方法用于编译ejs模版,把编译后的html代码发送给客户端。
语法
res.render(view [, locals] [, callback])
res.render(视图,{选项},回调函数)