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框架学习的主要内容,如果未能解决你的问题,请参考以下文章

Express框架

NodeJS 入门第三天(Express框架)

Express

node express框架 安装 app路由 正则路由 冒号引导变量 router级路由

Node学习—Express框架的安装

Node.js Express 框架学习