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'));
Express 体验 路由、模板引擎、中间件的更多相关文章
- Express ( MiddleWare/中间件 路由 在 Express 中使用模板引擎 常用API
A fast, un-opinionated, minimalist web framework for Node.js applications. In general, prefer simply ...
- express 4.x 模板引擎与express.static
前提:要在express中使用模块引擎需要将要使用的模板引擎安装在本项目,当然,express也是要安装的.在下面实例中,我使用的模板引擎是pug(一起叫做jade) 我的目录结构如下: 根目录为st ...
- express 使用art-template模板引擎
下载express-art-template art-template - app.js中配置 - 注册一个模板引擎 - `app.engine('.html',express-art-templat ...
- express中ejs模板引擎
1.在 app.js 中通过以下两个语句设置了 引擎类型 和页面模板的位置: app.set('views', __dirname + '/views'); app.set('view engine' ...
- nodejs学习(二) ---- express中使用模板引擎jade
系列教程,上一节教程 express+nodejs快速创建一个项目 在创建一个项目后,views目录下的文件后缀为 .jade . 打开 index.jade,具体内容如下图(忽略 header.j ...
- express使用ejs模板引擎渲染html文件
小场景小知识点. 在使用express过程中,按照官网教程,利用express生成器很容易初始化express项目模板. 那么初始化项目之后应该如何使用ejs作为模板引擎呢?如下 // 注释掉默认生成 ...
- Express使用art-template模板引擎
第一步:安装 npm install --save art-template npm install --save express-art-template 第二步:指定.html使用的解析引擎(官方 ...
- 【转】在Express项目中使用Handlebars模板引擎
原文:http://fraserxu.me/2013/09/12/Using-Handlebarsjs-with-Expressjs/ 最近在用Expressjs做一个项目,前后端都用它来完成.自己之 ...
- Express开发实例(2) —— Jade模板引擎
前一篇通过helloworld,简单介绍了Express中的开发,本篇继续深入的学习express的模板. 关于Jade的用法,网上有很多,本篇参考:Jade语法 安装相关模块 在实验代码前,应该先安 ...
随机推荐
- C++类相关
本文打算通过一些小例子来说明几个关键的知识点. 一:成员函数相关 #include <iostream> using namespace std; class D { public: vo ...
- bzoj4337树的同构
树是一种很常见的数据结构. 我们把N个点,N-1条边的连通无向图称为树. 若将某个点作为根,从根开始遍历,则其它的点都有一个前驱,这个树就成为有根树. 对于两个树T1和T2,如果能够把树T1的所有点重 ...
- ELK日志系统安装、配置
1.关闭SELINUX: [root@ELK /]# vim /etc/selinux/config 将SELINUX=enforcing修改为SELINUX=disabled 2.关闭防火墙: [r ...
- Vue--路由
main.js: 1.先在项目安装路由模块:npm install vue-router --save-dev2.使用路由:main.js首先要引用vue模块: import Vue from 'vu ...
- 洛谷P5112 FZOUTSY
卡map还行.....手写hash表即可. 我一开始以为这个k会变......在sam上想各种奇技淫巧. k不变就是问一段区间有多少对长度为k的子串相同. 然后hash把子串转化为数字,就是区间有多少 ...
- linux系统调用之系统控制
ioctl I/O总控制函数 _sysctl 读/写系统参数 acct 启用或禁止进程记账 getrlimit 获取系统资源上限 setrlimit 设置系统资源上限 getrusage 获取系统资源 ...
- poj 2559(栈的应用)
传送门 参考资料: [1]:挑战程序设计竞赛 题意: 柱状图是由一些宽度相等的长方形下端对齐后横向排列得到的图形.现在有由n个宽度为1,高度分别为h[1,2,3.......n]的长方形从左到右依次排 ...
- 使用pip cmd安装包
pip install matplotlib -i http://pypi.douban.com/simple --trusted-host pypi.douban.com,通过命令行安装的时候,指定 ...
- gdb带参调试
第一种方法:为程序传递参数5 root@guo-virtual-machine:~/debug# gdb --args factorial 5 第二种方法:为程序传递参数5 (gdb) run 5 方 ...
- http协议中的请求方式
get:获取url传的查询字符串(action=show)表单和连接的url中传的值.容量2K左右. post:以post方式提交,获取表单和连接的url中传的值.容量8M左右. delete:删除某 ...