前(che)言(dan)
由于毕业设计想尝试着使用 Node.js 来做一个应用,因此便接触了 Express 这个已有的 Web 开发框架。
有了 Express 这个框架,就可以省去自己手动实现小到一个 POST 请求,大到 Cookie、会话的管理的精力,避免了重复造轮子。
Express 实现的功能
- 为 http 模块提供了更高层的接口,而不用直接使用 Node.js 的 http 模块提供的底层接口
- 路由控制
- 模版解析支持
- 动态视图
- 用户会话
- CSRF 保护
- 静态文件服务
- 错误控制器
- 访问日志
- 缓存
- 插件支持
Express 工程的结构
|
各文件说明
app.js
app 对象一般情况下都是指向 Express 应用,通过调用 Express 模块的 express() 方法创建
app 对象配有一些成员方法:
- app.METHOD 和 app.param,用来处理路由 HTTP 请求
- app.route,用来配置中间件
- app.render,渲染 HTML 视图
- app.engine,注册模版引擎
app.set 是 Express 的参数设置工具,接受一个 key 和一个 value
可用的参数有:
- basepath:基础地址,通常用于 res.redirect() 跳转
- views:视图文件的目录,存放模版文件
- view engine:视图模版引擎
- view cache:启用视图缓存
- case sensitive route:路径区分大小写
- strict routing:严格路径,启用后不会忽略路径末尾的“/”
- jsonp callback:开启透明的 JSONP 支持app.set('title','My Site');
app.get 可以获取 setting 里 key 对应的 value
eg: app.get(‘/‘,routes.index); 是一个路由控制器,用户如果访问“/”路径,则由 routes.index 来控制
app.use 用来启用大量的中间件
(在 Express3.X 时依赖于 Connect)
(而在4.X开始,除了 Static 其余则被分离成独立的模块,需要单独安装,使用 require 调用)