一.express简介
基于Node.js平台,快速、开放、极简的web开发框架,可以快速的开发网站或者提供API的后台服务程序。
二.express的安装使用
安装步骤:
1.快速创建 package.json
npm init -y
2.安装express
npm i express
3.使用express创建http服务应用程序
let express = require('express');
let app = express();
//在app对象上添加路由
app.get('/',(request,response)=>{
response.send('<h1>欢迎光临首页</h1>');
})
app.listen(3000,()=>{
console.log('http服务在3000端口运行');
})
三.静态资源下载服务
因为node的顶层路由设计原因,所有的静态资源(css/图片/js)也都需要油路有相应,express提供了内置中间件(express.static())来提供静态资源下载服务
1.创建public目录,将所有的静态资源放在此目录下
2.添加一个中间件配置:app.use(express.static('./public'));
注:只要放置在public目录下的文件,只要请求时的路径与文件名是正确的,不需要额外的写路由就可以直接访问,例如:
四.动态路由
定义:可以匹配同类型的所有请求
1.使用正则表达式来匹配:
app.get(/\/student\/(\d{5})$/,(req,res)=>{
//正则表达式中的自匹配可以为req.params[0]获取
res.send(`学号为${req.params[0]}的学生信息`);
})
2.冒号引用变量
app.get('/student/:num',(req,res)=>{
//变量可以通过req.params.变量名 来获取
res.send(`学号为${req.params.num}的学生信息`)
})
五.路由模块化
当网站的路由特别多的时候,所有的路由写在入口文件代码中会显得非常臃肿,一般会将同类型的路由写在一个模块中,并向外暴露,然后再入口文件中引用并注册即可
1.新建routes目录,在心间index.js模块,将所有的卤藕放在index.js中
index.js中的代码为:
let express = require('express');
let router = express.Router();
//在router对象上添加路由
router.get('/',(request,response)=>{
response.send('<h1>欢迎光临首页</h1>');
});
module.exports=router;
2.在入口文件中设置:
//加载模块
let indexRouter = require('./routes/index');
app.use(express.static('./public'))
//路由模块注册,必须写在中间配置代码下面
app.use('./',indexRouter);
3.可以访问了