express框架
【基于nodejs,用于构建web服务器的框架】
官网:www.expressjs.com.cn
安装:npm install express
例1:创建web服务器
// 引入express第三方模块 const express = require('express'); // 创建web服务器 var server=express(); server.listen(3000,()=>{ console.log('success'); });
1、路由:
浏览器向web服务器发来请求,web服务器要根据请求的方法和请求的url来做出响应。
路由三要素:请求的方法、请求的url、响应的内容;
响应对象(res):
res.send() 响应文本,只能响应一次send,如果是数字认为是状态码;
res.sendFile() 响应文件,必须使用绝对路径(__dirname)
res,redirect() 响应的重定向
例2:接收请求 做出响应
扫描二维码关注公众号,回复:
7855305 查看本文章
// 引入express第三方模块 const express = require('express'); // 创建web服务器 var server=express(); server.listen(3000,()=>{ console.log('success'); }); /* 接收浏览器的请求 1、根据请求的url和方法做出不同的响应 2、 ————给服务器添加路由(根据请求的url) 3、请求的url:/login 请求的方法是get */ server.get('/login',(req,res)=>{ // req 请求的对象 // res 响应的对象 // 响应文本 res.send('this is login page!'); });
例3:send结束后不允许再次send
/* 练习:创建路由, 1、请求的方法是get 请求的url:/index this is index page 2、 post /login this is login page 3、 get /detail this is detail */ // 引入第三方模块express const express=require('express'); // 创建web服务器 var server = express(); // 监听端口 server.listen(3000); // 接收请求 做出响应 server.get('/index',(req,res)=>{ res.send('this is index page!'); }); server.get('/detail',(req,res)=>{ res.send('this is detail page!'); }); server.post('/login'(req,res)=>{ res.send('this is login page!'); });
例4:响应一个文件(必须使用绝对路径)
【.html文件】
<!-- index.html --> <!DOCTYPE html> <html> <head> <title></title> </head> <body> <h1>test</h1> </body> </html>
【.js文件】
// 引入第三方模块express const express=require('express'); // 创建web服务器 var server = express(); // 监听端口 server.listen(3000); // 接收请求 做出响应 server.get('/index',(req,res)=>{ //res.send('this is index page!'); res.sendFile(__dirname+'/index.html'); });
例5:重定向
// 引入第三方模块express const express=require('express'); // 创建web服务器 var server = express(); // 监听端口 server.listen(3000); // 接收请求 做出响应 server.get('/index',(req,res)=>{ //res.send('this is index page!'); res.sendFile(__dirname+'/index.html'); }); // 重定向到/index server.get('/',(req,res)=>{ res.redirect('/index'); });
例6:
/* 使用express创建web服务器,创建以下路由 get '/index' 发送文本“这是首页” get '/login' 送文件“login.html” post '/register' 发送文本“注册成功” get '/' 跳转到/index */ // 引入express模块 const express=require('express'); // 创建web服务器 var server=express(); // 监听端口 server.listen(3000); // 发出请求接收响应 server.get('/index',(req,res)=>{ res.send('this is index page!'); }); server.get('/login',(req,res)=>{ res.sendFile(__dirname+'/login.html'); }); server.post('/register',(req,res)=>{ res.send('success'); }); server.get('/',(req,res)=>{ res.send('/index'); });