IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> express框架学习 -> 正文阅读

[JavaScript知识库]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);
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-13 21:41:13  更:2022-03-13 21:41:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:34:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码