express 介绍
1.什么是express
express是一个基于node.js极简的、灵活的web开发框架,可以实现非常强大的web服务器功能
2.express特点
可以设置中间件响应和过滤http请求
可以使用路由实现动态网页、响应不同的http请求
内置支持esj模板(默认是jade模板)实现模板渲染生成html
3.express-generator生成器
express-generator是express官方团队开发者准备的一个快速生成工具,可以非常快速的生成一个基于express开发的框架
4.express的安装与使用
1)安装expree-generator生成器
cnpm i -g express-generator //安装完成后可以使用express命令
2)创建项目
express -e 项目名称 //自动创建目录
express -e //手动创建目录
3)安装依赖
cnpm i
4)开启项目(三种方法均可)
node app
npm start
node ./bin/www
5)测试项目
打开浏览器,输入网址,默认3000端口
express目录说明
1.目录
bin 可执行文件目录
node_mudules 依赖包目录
public 静态文件根目录,静态文件都放在这个目录下(静态html、css、js、图片等资源)
routes 路由模块目录,动态文件的目录;请求发生时,优先找静态文件,如果没有静态存在则找动态路由,如果动态路由也 没有,则404
views 视图目录,用于存放ejs模板
2.文件
app.js 项目的主文件,对整个项目的所有资源进行统筹安排
package.json 项目的描述文件,记录项目的各种依赖
路由
1.什么是路由
路由是指接受用户请求,处理用户数据,返回结果给用户的一套程序,可以理解为生成动态网页的程序
后端路由的核心:URL
2.express的路由
express自带有一个Router类,可以实例化路由对象,可以在该对象上挂载很多路由节点。
3.路由的写法
//挂载路由线路的写法
var express = require('express');
var router = express.Router();
router.get('/news.html',function (req,res,next) {
res.send('<h1>这里是新闻列表</h1>');
})
module.exports = router;
4.创建一个独立的路由模块
//需求,创建一个vip路由模块,接受vip目录下的所有请求,响应数据
1)创建一个vip路由模块
2)编写路由模块代码
a.引入express模块
b.实例化路由对象
c.编写路由线路,挂载在路由对象上
d.暴露路由对象
3)将编写好的路由模块引入主模块,由主模块app.js分配对应的请求到该模块处理
var vip = require('./routes/vip.js');
app.use('/vip',vip);
5.路由的区分
大路由(总路由):app.js,负责接收所有的模块,对请求进行分配
小路由(分路由):/routes下面的所有路由模块,只负责处理自己目录下的路由请求。