Express 体验 路由、模板引擎、中间件
http://expressjs.com/en/4x/api.html#req.method
http://expressjs.com/en/guide/routing.html
【Route paths】路由参数=路径参数 对应console.dir(req.params)
以此来支持动态URL,于是请求一个资源可以是 /resource/:id 甚至可以用正则 /resource/1?
【Query string】查询字符串=queryParams 对应console.dir(req.query)
【req.body 请求正文】
【使用Postman工具mock一下Post请求】省去了建立表单的时间
【使用body-parser中间件处理post请求(在handler之前)】https://github.com/expressjs/body-parser
【使用multer中间件上传文件】https://www.npmjs.com/package/multer
【使用模板引擎ejs】ejs.co
1.挺像jsp表达式 <%= %>,简单使用路径参数(req.params)就可以完成客户端和服务器端通信
2. app.set('view engine','ejs')
【使用中间件处理】app.use(path,cb)
假设存在 mid1->mid2 即mid1调用next传递给mid2 当mid2执行完控制权转移返回到mid1所以存在mid2->mid1。
综上所述,有mid1<=>mid2这样一个过程,传过去传回来。
【实例,Express内建的中间件处理静态资源】app.use('/public',express.static('public'))
【中间件实现 路由的分离】server > router + handler 即 app.use('/',indexRouter)
……………………………………………………………………………………………………………………………………
Todolist小项目
初始化 npm init > npm install --save express ejs body-parser
【MVC】Controller = router + handler
【写页面】需要有jq+css,一般属于public文件夹下静态资源,拿过来用,到Controller用GET方法展示一个表单(提供之后添加一个条目的能力)。
【实现功能】
增:借助body-parser解析请求正文req.body
删:使用data.filter(condition) //condition为true留下
查:客户端forEach
【持久化】使用mongoose https://github.com/Automattic/mongoose
app.use('/assets', express.static('public'));
最新文章
- OPENVPN
- Bootstrap系列 -- 6. 列表
- The type XXX cannot be resolved. It is indirectly referenced from required .class files错误.....
- 使用grunt打包ueditor源代码
- [51NOD1024] 矩阵中不重复的元素(数学,精度)
- java运行期类型鉴定
- python 赋值,交换值理解
- Windows7:Visual Studio 2008试用版的评估期已经结束解决方法
- SQL存储过程传入字段名查询.
- HDU 1815, POJ 2749 Building roads(2-sat)
- JS——判断一个对象是否为空
- NSURLSession http转Https
- UVA 796 Critical Links(模板题)(无向图求桥)
- Moment.js 基本用法
- 向git添加和提交文件
- 「2017 山东一轮集训 Day6」子序列(矩阵快速幂)
- 使用 jfreechart 生成 曲线、柱状图、饼状图、分布图 展示到JSP
- 【CTR】各公司方法
- Myeclipse下配置svn
- codeforces 576a//Vasya and Petya&#39;s Game// Codeforces Round #319 (Div. 1)
热门文章
- BZOJ5093图的价值(斯特林数)
- 牛客练习赛28 B数据结构(线段树)
- 洛谷P4175 网络管理
- [luogu3391][文艺平衡树]
- error2019-01-17 宏STDOUT_FILENO
- 在spring中如何生成一个bean (一个对象,比如jedis的连接池对象)【我】
- 洛谷 P1061 Jam的计数法
- (线性dp,最大连续和)Max Sequence
- CodeForces999E 双dfs // 标记覆盖 // tarjan缩点
- fuel6.0安装部署