express框架

作者: 光明程辉 | 来源:发表于2021-05-17 22:55 被阅读0次

Express 是一个基于 Node.js 封装的上层服务框架,它提供了更简洁的 API 更实用的新功能。它通过中间件和路由让程序的组织管理变的更加容易。

如果需要跟加进一步的了解建议去 express官网看。没时间写那么详细,我只是把自己之前学习的一些笔记简单记录下来,如果有问题可以找我探讨。
使用:

1.下载 安装 npm install express --save
2.引入
3.创建一个server
4.监听
5.get(二级-三级。。。地址,function(req,res){})
.post(二级-三级。。。地址,function(req,res){})
.use(二级-三级,function(req,res){});
require('url');
on('data');
on('end')

中间件

作用是拓展功能、处理数据(便捷)

const express = require('express');
const server = express();

server.listen(1273);
server.use(function(req,res,next){
    console.log('你好我是user01');
    next();
});
server.use(function(req,res,){
  console.log('你好我是user02');
})

上面是运行结果是:你好我是user01 --> 你好我是user02

因为使用了 next() ,这个中间件。

在express中 GET、POST的参数解析等也是可以使用方便的第三方的处理(上篇说到ajax的封装中就讲过了怎么实现和封装)。

express-static 读取输出

var express = require('express');
var bodyParser = require('body-parser');//解析body,尤其是复杂的对象参数
var static = require('express-static'); // 中间件(托管静态文件)
var server = express();

server.listen(1767);
server.use(bodyParser.urlencoded({}));
server.use('/user',function(req,res,next){

    console.log(req.body);
        // body 是POST请求
    if(req.body.user == 'Anny' && req.body.pass =='123456'){
        res.send('ok')
    }
    else{
        res.send('no ok!');
    }
    //res.send({a:10});
    //next();
});

server.use(static('./www')); // www目录下的图片、CSS 文件、JavaScript 文件对外开放访问了

如果wwww 文件里面有文件就可以直接读取出来。

  • next();
    表示,如果下面还有其它的中间件,就执行,否则就不执行。
app.use('',function (res,req) {
    console.log("我是user01");
    //next(); // 如果不使用next,返回的结果是 : 我是user01
});
app.use('',function (res,req) {
    console.log("我是user02");
});

如果使用了 next() 。输出是:我是user01 我是user02

如果是get的数据,直接使用 req.query 解析就OK了。

默认解析了,直接使用。
  • 插件 body-parser ,解析body参数
const express = require('express');
const bodyParser = require('body-parser');
const static = require('express-static');
const multer = require('multer');// 专门用来解析上传文件的
const server = express();

server.listen(3000);
server.use(bodyParser.urlencoded({})); // 通中间件,解析body参数
server.use(multer({dest:'地址值'}).any()); // 可以上传任意的文件
  • multer 专门用来解析上传文件的(需要添加条件)
    multer的 dest 默认解析出来是哈希值,没有后缀。
    需要 使用中间件 path 解析。path.parse() 解析返回的是一个对象(文件名和后缀都有)

{root:'/',dir:'' ,base:'xxx.docx', ext: '.docx', name:''}
{root是 在什么根目录,dir是 绝对路径 ,base是 文件名+后缀,ext是 后缀,name是 什么文件名}

server.use('/user',function(req,res,next){
    console.log(req.body); //查看解析后的body参数
    if(req.body.user == 'xiaoming' && req.body.pass =='123456'){
        res.send('ok')
    }
    else{
        res.send('no ok!');
    }
    //res.send({a:10});
    //res.write();
    //res.end();
    //next();
});
server.use(static('./www')); // 能改变文件地址
  • express-static
    能改变文件地址
    利用中间件
    如果有这个文件就读出来显示 www

  • res.end();响应

var express = require('express');
var app = express();

// 一个简单的 logger
app.use(function(req, res, next){
  console.log('%s %s', req.method, req.url);
  next();
});

// 响应
app.use(function(req, res, next){
  res.send('Hello World');
});

app.listen(3000);
  • router 路由
    路由使用非常频繁,它的作用就是帮助大家把目录结构分的更加的详细。下面举个例子:
const express = require('express');

// 初始化
const userRouter = express.Router();
const newsRouter = express.Router();

const app = express();
app.listen(3000);

app.use('/user',userRouter); // 这里 "/user" 表示把大模块拆分成小模块了。
app.use('/news',newsRouter);

// 小服务
userRouter.use('/xiaoming',function(req,res){
  res.send('user 小明!')
})
userRouter.use('/test',function(req,res){
  res.send('哈哈哈,测试test!')
})
newsRouter.use('/newsTest',function(req,res){
  res.send('渲染新闻')
})

// 这是没有拆分模块化的做法,不推荐
//app.use('www.baidu.com/news/xxxx',function(){});
//app.use('www.baidu.com/list/xxxx',function(){});
//app.use('www.baidu.com/users/xxxx',function(){});
...

在浏览器输入的基础路径+/user/xiaoming -----> 结果是: “user 小明!”
在浏览器输入的基础路径+/user/test -----> 结果是: “哈哈哈,测试test!”

下篇:cookie及cookie加密

相关文章

  • express 基础以及mongo基础

    express框架 express使用步骤 express的路由 express之next方法 express之通...

  • 20160923 学习笔记 express框架

    20160923 学习笔记 express框架 安装 espress express框架文件 相关知识 http:...

  • 安装和使用Express服务端框架

    1. 安装Express框架 npm install express-generator express ...

  • 用express写一个简单的爬虫

    框架 Express express 是 Node.js 应用最广泛的 web 框架,express 的官网是 h...

  • express入门总结

    1.Express框架 1.1 express是什么? 创建http服务器特别麻烦,express框架解决了这个的...

  • express框架入门

    express框架入门 什么是express Express 是一个简洁而灵活的 node.js Web应用框架,...

  • Express 框架

    一、Express框架简介及体验 1.1 Express框架简介 Express是一个基于Node.js平台的应用...

  • 前后端交互-Express框架

    一. Express框架简介及初体验 1 - Express框架是什么 Express是一个基于Node平台的we...

  • Express

    Express框架 课程介绍 Ø Express介绍(了解) Ø Express安装及使用(掌握) Ø Expre...

  • node(1)

    安装 Express $ npm install express 以上命令会将 Express 框架安装在当前目录...

网友评论

    本文标题:express框架

    本文链接:https://www.haomeiwen.com/subject/lncsjltx.html