node.js: express框架
2018-12-05 本文已影响0人
黑色的五叶草
一、express框架介绍
1.安装
2.配置
3.接收请求
4.响应
非侵入式
req
原生:
res.write();
res.end();
express:
*res.send();
res.write();
res.end();
express保留了原生的功能,添加了一些方法(send),增强原有的功能
//1.创建服务
var server=express();
//2.监听
server.listen(8080);
//3.处理请求
server.use('地址', function (req, res){
});
3种方法:
.get('/', function (req, res){});
.post('/', function (req, res){});
.use('/', function (req, res){});
中间件
/login?user=xxx&pass=xxx
=>{ok: true/false, msg: '原因'}
express框架:
1.依赖中间件
2.接收请求
get/post/use
get('/地址', function (req, res){});
3.非破坏式的
req.url
4.static用法
const static=require('express-static');
server.use(static('./www'));
req上常用方法:
- req.url 当前请求的地址
- req.query get请求方式,查询url上的某个字符串,例如
req.query.act
- req.body post请求方式,发送给服务器的字段。例如
req.body.title
- req.session 服务器发送给浏览器的session_id。例如
req.session['admin_id']
二、express路由: express上自带的Router()
- 平铺式写法:
r1本身就是一个小型的express
添加路由是必须使用use()
const express = require('express')
var server = express();
var r1 = express.Router();
server.use('/blog', r1); //添加路由
r1.get('1.html', (req, res) => {
res.send('1').end();
});
- 封装Router()写法:
const express = require('express')
var server = express();
server.use('/blog', createRouter());
function createRouter () {
var router = server.express();
router.get('1.html', (req, res) => {
res.send('1').end();
})
router.get('2.html', (req, res) => {
res.send('2').end();
})
return router;
}
- 再优化:
创建1.js
文件,将添加路由操作放到1.js
文件里
const express = require('express')
moudle.express = function () {
//todo
}
server.js
下只进行引入路由
var router = require('./router/1.js')
server.use('/blog', router())