http://javascript.ruanyifeng.com/nodejs/express.html

next没怎么用过...

一个不进行任何操作、只传递request对象的中间件

  1. function uselessMiddleware(req, res, next) {
  2. next();
  3. }

上面代码的next为中间件的回调函数。如果它带有参数,则代表抛出一个错误,参数为错误文本

  1. function uselessMiddleware(req, res, next) {
  2. next('出错了!');
  3. }

抛出错误以后,后面的中间件将不再执行,直到发现一个错误处理函数为止。

response.sendFile方法用于发送文件。

response.render方法用于渲染网页模板。就像ejs支持html一样

routes挂载路径

  1. var router = express.Router();
  2.  
  3. router.get('/', function(req, res) {
  4. res.send('首页');
  5. });
  6.  
  7. router.get('/about', function(req, res) {
  8. res.send('关于');
  9. });
  10.  
  11. app.use('/', router);

如果最后一行改为app.use('/app', router),则相当于/app和/app/about这两个路径,指定了回调函数

 

use方法为router对象指定中间件,即在数据正式发给用户之前,对数据进行处理。下面就是一个中间件的例子

  1. router.use(function(req, res, next) {
  2. console.log(req.method, req.url);
  3. next();
  4. });

  

router对象的param方法用于路径参数的处理

  1. router.param('name', function(req, res, next, name) {
  2. // 对name进行验证或其他处理……
  3. console.log(name);
  4. req.name = name;
  5. next();
  6. });
  7.  
  8. router.get('/hello/:name', function(req, res) {
  9. res.send('hello ' + req.name + '!');
  10. });

上面代码中,get方法为访问路径指定了name参数,param方法则是对name参数进行处理。注意,param方法必须放在HTTP动词方法之前

为什么不在get中验证呢?

路由方式

在app.js中,路由/admin-->admins.js,在admin.js中,/getAdmin-->function a;

总的来说:/admin/getAdmin-->function a;

ejs 传值

res.render('index', {title: "sfp"});

locals

  app.locals.moment = require('moment');  // moment这个插件,在页面中也能用了。

express 阮一峰的博客的更多相关文章

  1. DDOS 攻击的防范教程--转载自阮一峰的博客

    一个多月前,我的个人网站遭受 DDOS 攻击,下线了50多个小时.这篇文章就来谈谈,如何应对这种攻击. 需要说明的是,我对 DDOS 并不精通,从没想过自己会成为攻击目标.攻击发生以后,很多素昧平生的 ...

  2. 转: RSA原理 阮一峰的博客

    转:http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html 讲的非常细致,易懂.

  3. React Router学习笔记(转自阮一峰老师博客)

    React Router是一个路由库,通过管理URL来实现组件切换和状态转变. 1.安装和使用 $ npm install -S react-router 在使用时,作为React组件导入 impor ...

  4. 第1章 Express MongoDB 搭建多人博客

    学习环境 Node.js : 0.10.22 + Express : 3.4.4 + MongoDB : 2.4.8 + 快速开始 安装 Express express 是 Node.js 上最流行的 ...

  5. 基于react全家桶+antd-design+webpack2+node+express+mongodb开发的前后台博客系统

    很久没更新博客,最近也有点忙,然后业余时间搞了一个比较完整基于react全家桶+antd-design+webpack2+node+express+mongodb开发的前后台博客系统的流程系统,希望对 ...

  6. nodejs实战《一起学 Node.js》 使用 Express + MongoDB 搭建多人博客

    GitHub: https://github.com/nswbmw/N-blog N-blog 使用 Express + MongoDB 搭建多人博客 开发环境 Node.js: 6.9.1 Mong ...

  7. 用express搭建一个简单的博客系统

    转自:https://blog.csdn.net/qq_29721837/article/details/62055603 Express 简介 Express 是一个简洁而灵活的 node.js W ...

  8. 2015年12月12 Node.js实战(一)使用Express+MongoDB搭建多人博客

    序,Node是基于V8引擎的服务器端脚本语言. 基础准备 Node.js: Express:本文用的是3.21.2版本,目前最新版本为4.13.3,Express4和Express3还是有较大区别,可 ...

  9. UIKit: UIResponder(转自南峰子博客)

    有问题可以加本人QQ:564702640(验证:博客园) 我们的App与用户进行交互,基本上是依赖于各种各样的事件.例如,用户点击界面上的按钮,我们需要触发一个按钮点击事件,并进行相应的处理,以给用户 ...

随机推荐

  1. Cache Server

    [Cache Server] Whenever a source Asset like a .psd or an .fbx file is modified, Unity detects the ch ...

  2. jQuery源码解读一

    (function(window,undefined){...})(window); 这是一个典型的自执行的匿名函数. 为什么会有一个名为undefined的形参呢? undefined不是常量,可以 ...

  3. Django1.8:403错误:CSRF verification failed. Request aborted.

    问题:Django 403错误:CSRF verification failed. Request aborted.     原因:需要加cookie验证 解决方法: 1.在view.py中增加 fr ...

  4. IIS上发布站点后URL重写失效的解决方法

    在发布网站时URL重写有可能会失效,如果失效的话就需要您设置一下IIS:1.Windows XP系统或Windows 2003系统等使用以下方法:>打开IIS,主目录-〉配置-〉映射-〉在窗体左 ...

  5. [leetcode]211. Add and Search Word - Data structure design添加查找单词 - 数据结构设计

    Design a data structure that supports the following two operations: void addWord(word) bool search(w ...

  6. 遍历XML文件

    #encoding=utf-8 from xml.etree import ElementTree as ET #要找出所有人的年龄 per=ET.parse('d:\\1.xml') p=per.f ...

  7. Adplus 抓取Crash Dump

    本实例在win8.1 安装window kits https://developer.microsoft.com/en-us/windows/hardware/windows-driver-kit 1 ...

  8. Codeforces 631C. Report 模拟

    C. Report time limit per test:2 seconds memory limit per test:256 megabytes input:standard input out ...

  9. The server is busy, please refresh

  10. 20155232 2016-2017-3 《Java程序设计》第9周学习总结

    20155232 2016-2017-3 <Java程序设计>第9周学习总结 教材学习内容总结 第16章 JDBC(Java DataBase Connectivity)即java数据库连 ...