数据库和Express框架知识点(随意写)

数据库

数据库即存储数据的仓库

如何操作:

  • Node.js可以通过数据库提供的API去操作数据库
  • compass通过界面操作数据库

术语:数据库,集合,文档,字段


Express框架是什么

Express是一个基于Node平台的web应用开发框架,它提供了一系列的强大特性,帮助你创建各种Web应用。我们可以使用 npm install express 命令进行下载。

Express框架特性
  • 提供了方便简洁的路由定义方式

  • 对获取HTTP请求参数进行了简化

  • 处理对模板引擎支持程度高,方便渲染动态HTML页面

  • 提供了中间件机制有效控制HTTP请求

  • 拥有大量第三方中间件对功能进行扩展

//使用Express框架创建web服务器及其简单,调用express模块返回的函数即可。

 // 引入Express框架
 
const express = require('express');
 
// 使用框架创建web服务器
 
const app = express();
 
// 当客户端以get方式访问/路由时
 
app.get('/', (req, res) => {
    
// 对客户端做出响应 send方法会根据内容的类型自动设置请求头
   
 res.send('Hello Express'); 
// <h2>Hello Express</h2> {say: 'hello'}
 
});
 
// 程序监听3000端口
 
app.listen(3000);
中间件
  • 中间件就是一堆方法,可以接收客户端发来的请求、可以对请求做出响应,也可以将请求继续交给下一个中间件继续处理。

  • 中间件主要由两部分构成,中间件方法以及请求处理函数。

  • 可以针对同一个请求设置多个中间件,对同一个请求进行多次处理。

  • 默认情况下,请求从上到下依次匹配中间件,一旦匹配成功,终止匹配。

  • 可以调用next方法将请求的控制权交给下一个中间件,直到遇到结束请求的中间件。

app.get('/request', (req, res, next) => {
     
req.name = "张三";
     
next();

 });

 app.get('/request', (req, res) => {
    
 res.send(req.name);
 
});
中间件应用
  • 路由保护,客户端在访问需要登录的页面时,可以先使用中间件判断用户登录状态,用户如果未登录,则拦截请求,直接响应,禁止用户进入需要登录的页面。

  • 网站维护公告,在所有路由的最上面定义接收所有请求的中间件,直接为客户端做出响应,网站正在维护中。

  • 自定义404页面

请求方式
  • app.get(‘请求路径’, ‘处理函数’) // 接收并处理get请求

  • app.post(‘请求路径’, ‘处理函数’) // 接收并处理post请求

  • app.use 匹配所有的请求方式,可以直接传入请求处理函数,代表接收所有的请求。

错误处理中间件

app.use((err, req, res, next) => {
   
res.status(500).send('服务器发生未知错误');

})
Express请求处理
  • GET参数的获取

Express框架中使用req.query即可获取GET参数,框架内部会将GET参数转换为对象并返回。


 // 接收地址栏中问号后面的参数

 // 例如: http://localhost:3000/?name=zhangsan&age=30
 
app.get('/', (req, res) => {
    
console.log(req.query); // {"name": "zhangsan", "age": "30"}
 
});
  • POST参数的获取

Express中接收post请求参数需要借助第三方包 body-parser。


 // 引入body-parser模块

 const bodyParser = require('body-parser');
 
// 配置body-parser模块
 
app.use(bodyParser.urlencoded({ extended: false }));
 
// 接收请求
 app.post('/add', (req, res) => {
    
// 接收请求参数
    
console.log(req.body);

 }) 

Express路由参数


app.get('/find/:id', (req, res) => { 
    
console.log(req.params); // {id: 123} 

});

express-art-template模板引擎
app.locals 对象

将变量设置到app.locals对象下面,这个数据在所有的模板中都可以获取到。

app.locals.users = [{
     
name: '张三',
    
 age: 20
 
},{
     
name: '李四',
     
age: 20

}]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值