express框架学习
Posted 做个机灵鬼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了express框架学习相关的知识,希望对你有一定的参考价值。
提供了方便简洁的路由定义方式
对获取HTTP请求参数进行了简化处理
对模板引擎支持程度高,方便渲染动态html页面
提供了中间件机制有效控制HTTP请求
拥有大量第三方中间件对功能进行扩展
//expess基础使用
// 引入express模块
const express = require('express');
// 创建应用对象
const app = express();
// 路由的设置
app.get('/',(request,response)=>
response.end('hello express');
)
// 监听端口
app.listen(80,()=>
console.log('启动成功');
)
路由
const express = require('express');
// 创建应用对象
const add = express();
//
const fs = require('fs');
// 设置路由规矩
add.get('/login',(request,response)=>
// send()方法是express框架封住好的方法
/*
相当于
response.setHeader('Content-type','text/html,charset=utf-8');
response.end();
*/
//读取html页面 并响应给浏览器
console.log(request.get('host'));//获取请求头
// 将一个文件的内容响应给浏览器(必须为绝对路径),简便写法
//response.sendFile(__dirname+'/index.html');简便写法
const body = fs.readFileSync('./index.html')
response.end(body);
);
add.get('/register',(request,response)=>
response.send('注册页面')
);
add.post('/login',(request,response)=>
response.end('dengluchuli');
)
// all方法 表示任意 无论以任何方式发送请求 它都响应给你
add.all('/text',(request,response)=>
response.send('测试');
)
add.listen(80);
中间件
const express = require('express');
// 创建服务对象
const add = express();
// 引入中间件 其实中间件就是一个函数
const moment = require('moment');
const fs = require('fs');
// 声明一个中间件函数 next是一个函数类型的值
let record = function(request,response,next)
// 获取路径
let path = request.url;
// 获取时间
let date = moment().format('YYYY-MM-DD HH:mm:ss');
let str = `$date $path\\r\\n`;
fs.writeFileSync('assgin.log',str,flag:'a')
// 调用函数
next();
add.use(record);
// 需要记录每次响应的时间和路径 存储在assgin.log中
// 创建路由规则
add.get('/login',(request,response)=>
response.send('注册页面');
)
add.get('/re',(require,response)=>
response.send('处理页面');
)
add.listen(800)
//路由中间件用来控制查询字符串的参数
const express = require('express');
const add = express();
// 路由中间件
let ruyou = function(request,response,next)
let admin = request.query.admin;
if(admin === '1')
next();
else(
// damin不对侧跳转其他页面
response.redirect('/login')
)
// 设置查询字符串admin是否等于1
add.get('/login',ruyou,(request,response)=>
response.send('登录页面');
)
// 判断是否查找字符串是否等于 admin是否等于1
add.get('/register',ruyou,(request,response)=>
response.send('注册页面');
)
add.listen(900)
获取请求体参数的中间件
const express = require('express');
const add = express();
//第一步 引入 body-parser
var bodyParser = require('body-parser');
// 第二步
add.use(bodyParser.urlencoded( extended: false ))
add.get('/index',(request,response)=>
response.sendFile(__dirname+'/index.html')
)
//表单的提交路径为/text
add.post('/text',(request,response)=>
console.log(request.body);
console.log(request.body.username);
)
add.listen(802);
以上是关于express框架学习的主要内容,如果未能解决你的问题,请参考以下文章