NodeJs(Web篇)Express框架(一)基本使用方法

Express是nodejs的一个快速搭建web服务的一个模块,采用非破坏式原则:在nodejs接口基础上添加接口,保持原有接口

使用之前,先安装express的模块,方法为npm install express

基本使用方法:

直接调用express();即可返回一个server对象,server.use();可以处理get和post请求

const express = require('express');

//调用express函数,即可返回一个server的对象
var server = express();

//接受
server.use('/',function(req, res, next){
    console.log('some one connect!');
    res.end();
});

server.listen(8080);

get和post方法:

除了use();外,还有server.get();和server.post();可以处理用户的请求,只不过get只能处理get请求,而post只能处理post请求

const express = require('express');

var server = express();
server.listen(8080);

//监听get请求
server.get("/",function(req, res, next){
    console.log("get request");
    next();
});

server.post("/", function(req, res, next){
    console.log("post request");
    next();
});

server.use("/", function(req, res, next){
    console.log("use request");
    res.end();
});

流水式处理:

      上面的例子中,server的回调函数中比原生的多了一个next的参数,这个参数可以让开发者选择是否继续执行下一个get,post或着use方法,如果在get,post,use中调用了next();程序会继续之下下一个get,post,use,否则结束处理。

      上面的例子只接收了''/"路径的请求,是访问不到任何文件的,下面将举个流水处理的栗子:

      (不知为什么use 之后 不能传递到get 或者 post,没空查了)

const express = require('express');
const urlLib = require('url');
const fs = require('fs');
//const body-parser = require('body-parser');dd

var server = express();
server.listen(8080);

//先使用use("/")得到访问的文件路径
var pathname = "";
server.use('/',function(req, res, next){
    var obj = urlLib.parse(req.url);
    //获取访问路径
    pathname = obj.pathname.slice(1);
	console.log("use request", pathname);
    next();
});


//监听get请求
server.use(pathname,function(req, res, next){
    console.log("request url : ", pathname);
    
    fs.readFile(pathname, (err, data)=>{
        if(err){
            res.send("404");
        }else{
            res.write(data);
        }
		res.end();
    });    

});

常用方法:

由于是略懂就可,所以这里就不去深究了

常用中间件:

express框架只是提供了一些基础的服务,但是可以借助中间件完成一些对应的工作:

1.express-static //读取静态文件

2.body-parser    //解析url

3.multer             //上传文件处理

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值