express框架

技术express框架 express框架Express框架
Express简化了关于NodeJS应用的开发
官网地址:https://www.expressjs.com.cn/使用npm instal

快速框架

Express框架

Express简化了NodeJS应用程序的开发。

官方网站地址:https://www.expressjs.com.cn/

使用npm快速安装-保存安装。

基本使用

var express=required(' express ')

var app=express()

app.get('/'),function(req,RES){ 0

发送(我是一个快递框架)

})

app.listen(3000,function(){ 0

Console.log('侦听端口3000 ')

})

这就是快递的框架。

var express=require(' express ');

var app=express();

列出中间件请求。

列出中间件请求。

列出中间件请求。

app.listen(3000,function(){ 0

Console.log('侦听端口3000 ')

})

在我们介绍了快递之后,这个快递就是一个功能。通过调用这个函数,我们可以创建一个对象,它封装了express的所有方法。需要注意的是,一个程序只能有一个对象。

中间件

什么是中间件?

中间件就是所谓的HTTP请求。

中间件所做的是在用户访问页面时处理当前请求的事件。

现在我们可以使用request方法来处理不同的事情,在路由地址相同的情况下。

var express=required(' express ')

var app=express()

app.get('/'),function(req,RES){ 0

控制台日志(“我正在获取”)

})

app.listen(3000,function(){ 0

Console.log('侦听端口3000 ')

})

中间件的路径

以前使用原生NodeJS时,发现路由的匹配非常准确。例如/keyeking此时路由地址为/keyekingname=小明,由于没有精确匹配,页面不会显示。

但是快递已经为我们封装了对应的参数集,只匹配了路线的中继线。

var express=required(' express ')

var app=express()

app.get('/keyeking ',函数(req,RES){ 0

Res.send(我是keyeking)

})

app.listen(3000,function(){ 0

Console.log('侦听端口3000 ')

})

以下网址可以直接访问此路由的内容。

中间件的通配符

Express用法:匹配路由地址,我们可以通过req.params.**。

var express=required(' express ')

var app=express()

app.get('/:name/:sex ',函数(req,RES){ 0

var name=req . params . name;

var sex=req . params . sex;

RES . send(‘你好,我是‘名字’,我是‘性’)。

console.log(姓名、性别)

})

app.listen(3000,function(){ 0

Console.log('侦听端口3000 ')

})

还有一个通配符*。

app.get('* ',function(req,RES){ 0

Res.send(无页面)

})

中间件的顺序

所有中间件都必须有序。这时候如果我们的中间件内容会匹配多个,如果不发布就会被拦截。

var express=required(' express ')

var app=express()

app.get('。/xioaming/10000 ',function(){ 0

var name=req . params . name;

var id=req.params.id

Res.send('我是' name ',我的学生证是' id ")。

})

app.get('/:name/:id ',函数(req,RES){ 0

var name=req . params . name;

var id=req.params.id

Res.send('我是' name ',我的学生证是' id ")。

})

app.listen(3000,function(){ 0

Console.log('侦听端口3000 ')

})

如果此时页面的路由地址是/小明。

/1会返回第一个中间件的内容,第二个中间件虽然也符合匹配条件,但是不会再输出内容, 因为拦截了

next()方法

当一个中间件内容匹配了之后我们此时想让其他的中间件继续进行匹配,此时可以使用next()进行放行

我们可以模拟匹配多个路由,此时我们在第一个中间件中进行一个计数器的设置,然后第二个中间件中显示这个结果

var express=require("express")
var app=express()
var num = 0;
app.get("/xiaoming/1",function(req,res,next){
  console.log(123456789)
    num++
  next()
})
app.get("/:name/:id",function(req,res){
    var name=req.params.name;
    var id=req.params.id
    res.send("我是"+name+"我学号为"+id+"计算器"+num)
})
  
app.listen(3000,function(){
    console.log("监听3000端口")
})

随着页面的刷新,num的值也会逐渐增加,此时就达到了放行,两个中间件内容都得到了输出

输出

下面所有的输出方法,都不需要我们自己写setHeader(),会帮你自动带上Content-type

如果输出文案或者包含文件的HTML结构体使用res.send()

app.get("/",function(req,res){
  res.send("hello")
})

如果输出的是JSON格式,可以使用res.json()

app.get("/",function(req,res){
  res.json({"a":1,"b":2,"c":[1,2,3,4]})
})

如果输出的内容是JSONP,此时使用res.jsonp()来输出,此时express会自动检测callback的请求参数自动封装对应的函数执行结果

app.get("/",function(req,res){
  res.jsonp({"a":1,"b":2,"c":[1,2,3,4],"d":{"e":678}})
})

如果请求的是一个外置的页面,此时要用sendFile(),需要注意是一定要使用绝对路径

varexpress=require("express")
varapp=express()

app.get("/",function(req,res){
res.sendFile(__dirname+"/1.html")
})
app.listen(3000,function(){
console.log("监听3000端口")
})

如果想要跳转页面,可以使用res.redirect()

app.get("/",function(req,res){
  res.redirect("http://www.baidu.com")
})

文件夹的静态化

原生NodeJS的所有的文件请求,都必须设定一次url的匹配,很不方便,所以express提供一个“静态化”的功能,指的是改静态化了文件夹,此时自动拥有路由。

app.use(express.static("需要静态化的文件夹名称"))

  

┣ app.js

│public

│┣ index.html

││images

││┣1.png

var express=require("express")
var app=express()
app.use(express.static("public"))
app.listen(3000,function(){
    console.log("监听3000端口")
})

此时文件夹内部有一个图片,可以看到

发现当前的路径是从public里面开始的,因为public文件夹已经被静态化了

我们的静态化路由地址也是可以自定义的

var express=require("express")
var app=express()
app.use("/public",express.static("public"))   //自定义路由地址
app.listen(3000,function(){
    console.log("监听3000端口")
})

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/36346.html

(0)

相关推荐

  • 如何使用YCSB进行HBase性能测试

    技术如何使用YCSB进行HBase性能测试这篇文章给大家分享的是有关如何使用YCSB进行HBase性能测试的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在集群上运行任何性能基准测试工具时,关键

    攻略 2021年12月8日
  • bite过去式,bite咬的过去式是什么

    技术bite过去式,bite咬的过去式是什么bit[英][b?t][美][b?t]
    n.一点bite过去式,一块;少量,少许;一会儿,一转眼;[计]比特(二进位制信息单位);
    adj.很小的,微不足道的;
    adv.[口语

    生活 2021年10月20日
  • 如何进行C++抛出异常技巧的分析

    技术如何进行C++抛出异常技巧的分析这期内容当中小编将会给大家带来有关如何进行C++抛出异常技巧的分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C++语言与其他编程语言一样,其中也

    攻略 2021年10月27日
  • 数据库数据文件如何进行分区转移

    技术数据库数据文件如何进行分区转移数据库数据文件如何进行分区转移,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。由于之前同事没有对磁盘分区做规

    攻略 2021年11月29日
  • 如何把word压缩小一点

    技术如何把word压缩小一点这篇文章给大家分享的是有关如何把word压缩小一点的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  使用工具:迅捷压缩  工具介绍:  迅捷压缩软件是一款集图片压缩

    攻略 2021年10月26日
  • 租用香港云服务器的五大好处云服务器香港

    技术租用香港云服务器的五大好处云服务器香港几乎所有其他IDC服务商都在其提供的产品列表中使用“云”一词。那么究竟什么是香港云?为什么它被认为如此非常合适部署业务,以至于成为不少用户建站时的首选?下面详细说明了使用该服务的

    礼包 2021年12月15日