项目运行
cnpm run start(从package.json里面scripts项查找)
notEmpty=true;
代表url里面的参数是必选项
optional=true;
代表可选
app.js的主要作用:附加中间件、请求参数校验、登录鉴权
cors 跨域资源共享是用来避开浏览器的同源策略,在处理app.get等请求之前使用
import cors from 'cors';
app.use(cors());
解析Content-Type: application/x-www-form-urlencoded
import bodyParser from 'body-parser';
app.use(bodyParser.urlencoded({
limit: '50mb',
extended: true
}));
解析Content-Type: application/json
import bodyParser from 'body-parser';
app.use(bodyParser.json());
打印请求日志
let requestLog = require('./src/libs/request-log');
app.use(requestLog);
校验请求参数
import expressValidator from 'express-validator';
app.use(expressValidator());
隐藏来至前端form产生的非Get和Post请求。
import methodOverride from 'method-override';
app.use(methodOverride());
因为浏览器的form只能产生Get和Post请求,但后端的API自然希望form能够产生其他的Put、Delete请求了,这时我们就需要method-override来帮我们来实现将get和post改成其他谓词put,delete等
常规的处理方法是在form中加入一个名为_method的隐藏输入换件,让这个控件承载我们实际需要的谓词,然后在服务器用这个控件的谓词进行方法的改写。
var express =