专栏首页京程一灯Node.js 框架 express 4.X API 中文手册【express()篇】

Node.js 框架 express 4.X API 中文手册【express()篇】

原创作者:波多马克河畔,京程一灯特邀作者 波多马克河畔,留学海外对编程充满热情的高中生

写过 node.js 应用的小伙伴们应该都知道 express 应用框架,它让我们在开发时候的路由设计简化,直接方便我们快速的开发,然而,因为版本更新的太快,导致像这类的API都没什么人愿意去翻译,哪怕翻译出来一段时间后,新的API又出来了。于是乎间接的让许多英语不好的小伙伴都不能好好的玩耍了。


express 5 overview

作为一名身在海外的高中生,为了提升英语阅读(我刚出来时候英语真的不咋的,但只有读才是提升阅读水平的最好方法),我也只好好好的翻译翻译啦~ 除了为帮助自己,也间接帮助一些需要中文API的小伙伴们。

该 Express 4.X 中文手册我讲以官网的目录形式来发布文章,共5章,分别为:

express() Application Reques Response Router

Express's menu

如果有什么翻译不对的地方~ 欢迎在下方评论告诉我奥~ enjoy your express API.


express()

建立一个Express的应用程序,express() 函数是一个由express模型导出的高级入口函数。

var express = require('express'); var app = express();


方法:

express.static(root, [options])

express.static 函数是Express中唯一一个内置的中间件 (middleware) 函数。该函数提供了静态文件功能并基于server-static开发。

其中,root 参数是指向需要提供静态资源服务的根目录,需要提供的静态文件将会通过req.url 和提供的根目录的组合来确定。当一个文件找不到时,该模型不会发送404响应,而是将其代替为调用 next() 来移动到下一个中间件,并允许堆积与后退。

下面的表格描述了 options 可选对象的属性。

options of express.static()

dotfiles

该选项可能用到的值有:

“ allow ” - 不特别处理点文件 " deny " - 拒绝点文件的请求,用403响应,然后调用 next(); “ ignore ” - 如果dotfile不存在,用404响应,然后调用 next();

注意:使用默认值时,它将不会忽视以点开头的文件或者文件夹。


fallthrough

当该选项为 true 时,客户端的错误例如一个不好的请求或者一个不存在文件的请求都将导致这个中间件去简单的调用 next() 来调用栈中的下一个中间件。当该选项为 false 时,这些错误(甚至是404错误)都将调用 next(err)。

将此选项的值设置为 true 以便于你可以将多个物理目录映射到同一个Web地址或路由以填充不存在的文件。

如果已将此中间件安装在严格为单个文件系统目录的路径上,则可以使用false。这样允许让404短路从而减少开销。 这个中间件也将回复所有的方法。


setHeaders

对于该选项,请指定一个函数去设置自定义响应标头。 对标头的更改必须同步进行。

该函数的签名为:

fn ( res, path, stat );

参数:

res, 响应的对象 path, 要发送的文件路劲 stat, 要发送的文件的 stat 对象


express.Router([options])

创建一个新的路由对象

var router = express.Router( [ options ] );

下表中的可选 options 参数指定了路由器的行为:

options of express.Router()

你可以像路由应用一样向路由器中添加中间件和HTTP方法路由(例如 get,put,post 等方法)。

本文分享自微信公众号 - 京程一灯(jingchengyideng),作者:波多马克河畔

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-12-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Node.js 究竟是什么?

    Node.js 是一个 JavaScript 运行时环境。听起来还不错,不过这究竟意味着什么?它又是如何运作的?

    疯狂的技术宅
  • Node 事件循环究竟是如何工作的: 为何大部分的事件循环图都是错的

    当 Bert 在 2016 年欧洲 Node 交流大会上提出关于事件循环的主题时,他以一句“大部分的事件循环图都是错的”开场。我很愧疚,我演讲中也用过一些错误的...

    疯狂的技术宅
  • JS 和 Node.js 中的“事件驱动”是什么意思?[每日前端夜话0x106]

    事件驱动架构是建立在软件开发中一种通用模式上的,这种模式被称为发布-订阅或观察者模式。

    疯狂的技术宅
  • 数据结构【第三篇】线性表之双链表的实现与讲解

    单链表相对于顺序表,确实在某些场景下解决了一些重要的问题,例如在需要插入或者删除大量元素的时候,它并不需要像顺序表一样移动很多元素,只需要修改指针的指向就可以了...

    BWH_Steven
  • Ray:AI的分布式系统

    随着机器学习的算法和技术的进步,越来越多的机器学习应用程序需要多台机器,并且必须利用并行性。但是,在集群上进行机器学习的基础设施仍然是特设的。尽管针对特定用例(...

    用户1045622
  • Day4-线性表-排序链表去重

    昨天口误了,链表之后,还有线性表的队列和栈,并不是字符串,惊不惊喜意不意外

    BUPTrenyi
  • 初学者|一步步掌握FoolNLTK

    本文介绍了FoolNLTK的使用方法,是一个使用双向 LSTM 构建的便捷的中文处理工具包,该工具不仅可以实现分词、词性标注和命名实体识别,同时还能使用用户自定...

    yuquanle
  • 传统路由,SD-WAN给你提个醒

    SD-WAN的优势很明显,能够实现带宽的经济应用、应用程序优先级和集中管理等优势,正在迅速重塑分支网络体系架构。由于诸多分支机构可以使用丰富的互联网带宽、优先访...

    SDNLAB
  • 快速入门Vue

    刚进公司做的第一个项目,刚好前端人手不足,需要我们后端同时兼顾前后端的工作,采用的iview UI框架,基于vue.js。

    KEN DO EVERTHING
  • 基于MyBatis用mapper.xml文件配置执行任意字符串拼接sql语句

    由于做的一个小项目里需要联动查询,一想16种情况,因为我是SSM框架写的,这样我就要写16个接口,16个实现,16条sql语句,想想就大头。既然数据库本身接收的...

    麦克劳林

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动