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 体验 路由、模板引擎、中间件的更多相关文章

  1. Express ( MiddleWare/中间件 路由 在 Express 中使用模板引擎 常用API

    A fast, un-opinionated, minimalist web framework for Node.js applications. In general, prefer simply ...

  2. express 4.x 模板引擎与express.static

    前提:要在express中使用模块引擎需要将要使用的模板引擎安装在本项目,当然,express也是要安装的.在下面实例中,我使用的模板引擎是pug(一起叫做jade) 我的目录结构如下: 根目录为st ...

  3. express 使用art-template模板引擎

    下载express-art-template art-template - app.js中配置 - 注册一个模板引擎 - `app.engine('.html',express-art-templat ...

  4. express中ejs模板引擎

    1.在 app.js 中通过以下两个语句设置了 引擎类型 和页面模板的位置: app.set('views', __dirname + '/views'); app.set('view engine' ...

  5. nodejs学习(二) ---- express中使用模板引擎jade

    系列教程,上一节教程  express+nodejs快速创建一个项目 在创建一个项目后,views目录下的文件后缀为 .jade . 打开 index.jade,具体内容如下图(忽略 header.j ...

  6. express使用ejs模板引擎渲染html文件

    小场景小知识点. 在使用express过程中,按照官网教程,利用express生成器很容易初始化express项目模板. 那么初始化项目之后应该如何使用ejs作为模板引擎呢?如下 // 注释掉默认生成 ...

  7. Express使用art-template模板引擎

    第一步:安装 npm install --save art-template npm install --save express-art-template 第二步:指定.html使用的解析引擎(官方 ...

  8. 【转】在Express项目中使用Handlebars模板引擎

    原文:http://fraserxu.me/2013/09/12/Using-Handlebarsjs-with-Expressjs/ 最近在用Expressjs做一个项目,前后端都用它来完成.自己之 ...

  9. Express开发实例(2) —— Jade模板引擎

    前一篇通过helloworld,简单介绍了Express中的开发,本篇继续深入的学习express的模板. 关于Jade的用法,网上有很多,本篇参考:Jade语法 安装相关模块 在实验代码前,应该先安 ...

随机推荐

  1. [SCOI2008]奖励关(期望dp)

    你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃). 宝 ...

  2. 存在重复元素 II

    题目描述 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k. 示例 1: 输入: n ...

  3. 微信支付退款(PHP后端)

    应用场景 当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,微信支付将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上. 微信 ...

  4. Vagrant 遇到的问题

    Vagrant was unable to mount VirtualBox shared folders. This is usuallybecause the filesystem "v ...

  5. Nginx环境的搭建

    源码安装 不同发行版使用的安装程序都不同,所以官方提供了源代码,我们需要将原代码编译后再安装. 源程序使用C语言开发,所以需要安装C语言的编译环境. 安装Nginx环境和第三方支持库 yum inst ...

  6. [HEOI2014]平衡

    [HEOI2014]平衡 转化为求选择k个数,和为(n+1)*k的方案数 保证,每个数[1,2*n+1]且最多选择一次. 限制k个很小,所以用整数划分的第二种方法 f[i][j],用了i个,和为j 整 ...

  7. 【洛谷P1896】互不侵犯

    题目大意:给定 N*N 的棋盘,一共放 K 个国王,一共有多少种方法. 题解: i&i<<1 判断是否每个 1 的位置之间都有 0. i&j<<1 判断 i 中 ...

  8. Java并发编程-阻塞队列(BlockingQueue)的实现原理

    背景:总结JUC下面的阻塞队列的实现,很方便写生产者消费者模式. 常用操作方法 常用的实现类 ArrayBlockingQueue DelayQueue LinkedBlockingQueue Pri ...

  9. python enumarate方法的使用

    '''enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中.'''

  10. c#文件管理

    Directory类-------目录管理 Directory.CreateDirectory(_Path); bool IsExit=Directory.Exists(_Path); Directo ...