了解Express
<express框架是NodeJS最流行的轻量web开发框架,简单易用且功能强大.
不使用Express,使用Node.js提供的原生http模块也可以创建web服务器,不过http内置模块用起来复杂,开发效率低;Express基于http模块进一步封装,能够极大的提高开发效率
基本结构
//大前提:npm install express@4.17.1
//第一步 引入express
const express = require('express');
//第二步 创建express服务器实例
const app = express();
//监听get请求
//参数1 url
/*参数2 处理函数
req 请求对象
res 响应对象*/
app.get("/",(req,res)=>{});
//监听post请求
//参数1 url
/*参数2 处理函数
req 请求对象
res 响应对象*/
app.post("/",(req,res)=>{});
//监听所有请求
//参数1 url
/*参数2 处理函数
req 请求对象
res 响应对象*/
app.all("/",(req,res)=>{})
//第n步 指定端口,启动服务器
app.listen('80',() => {
console.log('express server run at http://127.0.0.1');
})
监听请求
监听GET请求
通过app.get()方法,监听GET请求
//参数1 url
/*参数2 处理函数
req 请求对象
res 响应对象*/
app.get('/user?name=zs&age=12',function(req,res){
/*获取url中携带的参数*/
/*req.query默认是一个空对象,
客户端使用 ?name=zs&age=12 这种查询字符串形式发送到服务器的参数可以通过req.query获取*/
const obj = req.query;
//响应的是json对象
res.send({name:'zs',age:12});
});
app.get("/user/:id/:name",function(req,res){
//获取动态参数
const params = req.params;
res.send(params);
})
监听POST请求
通过app.post()方法,监听POST请求
//参数1 url
/*参数2 处理函数
req 请求对象
res 响应对象*/
app.post('http://......',function(req,res){
/*处理函数*/
//响应的是文本字符串
res.send("请求成功");
});
托管静态资源
express提供express.static()函数,使用这个函数可以非常方便地创建要给静态资源服务器
app.use(express.static('./public'));
现在可以访问public目录里的所有文件
express在指定目录中查找文件,并对外提供资源的访问路径,因此不用加public在路径中
http://localhost:80/index.html
托管多个静态资源
app.use(express.static('./public1'));
app.use(express.static('./public2'));
app.use(express.static('./public3'));
访问时依次往下查找