Express 文档(常见问题)
常见问题
我该如何构建我的应用程序?
这个问题没有明确的答案,答案取决于你的应用程序规模和所涉及的团队,为了尽可能灵活,Express在结构方面没有做出任何假设。
在你喜欢的任何目录结构中,路由和其他特定于应用程序的逻辑可以存在于你希望的任意数量的文件中,查看以下示例以获取灵感:
此外,还有Express的第三方扩展,简化了其中一些模式:
如何定义模型?
Express没有数据库的概念,此概念由第三方Node模块决定,允许你与几乎任何数据库进行交互。
请参阅LoopBack,了解以模型为中心的基于Express的框架。
如何验证用户身份?
身份验证是Express不会冒险的另一个有争议的领域,你可以使用任何你想要的身份验证方案,有关简单的用户名/密码方案,请参阅此示例。
Express支持哪些模板引擎?
Express支持符合(path、locals,callback)签名的任何模板引擎,要规范化模板引擎接口和缓存,请参阅consolidate.js项目以获取支持,未列出的模板引擎可能仍然支持Express签名。
有关更多信息,请参阅使用Express的模板引擎。
如何处理404响应?
在Express中,404响应不是错误的结果,因此错误处理程序中间件不会捕获它们,这种行为是因为404响应只是表明没有额外的工作要做,换句话说,Express已经执行了所有中间件函数和路由,并发现它们都没有响应,你需要做的就是在堆栈的最底部添加一个中间件函数(在所有其他函数之下)来处理404响应:
app.use(function (req, res, next) {
res.status(404).send("Sorry can't find that!")
})
在express.Router()
实例上的运行时动态添加路由,这样路由不会被中间件函数取代。
如何设置错误处理程序?
你可以使用与其他中间件相同的方式定义错误处理中间件,除了使用四个参数而不是三个参数,具体的签名(err, req, res, next)
:
app.use(function (err, req, res, next) {
console.error(err.stack)
res.status(500).send('Something broke!')
})
有关更多信息,请参阅错误处理。
如何呈现纯HTML?
没有必要使用res.render()
函数“渲染”HTML,如果你有特定文件,请使用res.sendFile()
函数,如果要从目录提供许多资源,请使用express.static()
中间件函数。
上一篇:静态文件
下一篇:路由
Express 文档(常见问题)的更多相关文章
- 常用控件产品官方文档/手册/API列表 c#控件文档API列表 asp.net控件产品技术文档中文版
.netCHARTING报表图表控件 文档帮助手册Ab3d.PowerToys 文档帮助手册Ab3d.Reader3ds 文档帮助手册ABViewer 文档帮助手册 (工程图纸文档管理系统)Activ ...
- 【nodejs之我的开源module】 使用express搭建web服务器,代码即文档的实现。
前言 都说nodejs适合制作restful_API,因为它有异步处理能力,能吞吐更多的请求,这一点是大家都认可的.前不久我使用nodejs+express+postgresql搭建了一个restfu ...
- 转://【MOS】关于在不同版本和平台之间进行还原或复制的常见问题 (文档 ID 1526162.1)--跨版本恢复
Questions and Answers 1) 我能用更高版本的 Oracle 还原或复制旧版本的数据库吗? 2) 我能在两个不同的补丁程序集之间进行还原或复制吗? 3) 我能在同一操作系统的不同版 ...
- .NET生成word文档服务器配置常见问题
注意:安装office2003的时候一定要选择 "完全安装" 而不是 "典型安装" 错误:System.Runtime.InteropServices.COME ...
- [译]Selenium Python文档:八、附录:FAQ常见问题
另外一个FAQ:https://github.com/SeleniumHQ/selenium/wiki/Frequently-Asked-Questions 8.1.怎样使用ChromeDriver ...
- 【Ansible 文档】【译文】常见问题
http://docs.ansible.com/ansible/latest/faq.html 如何为一个task或者整个Playbook设置PATH或者任意其他环境变量? 通过environment ...
- 使用 Swagger 自动生成 ASP.NET Core Web API 的文档、在线帮助测试文档(ASP.NET Core Web API 自动生成文档)
对于开发人员来说,构建一个消费应用程序时去了解各种各样的 API 是一个巨大的挑战.在你的 Web API 项目中使用 Swagger 的 .NET Core 封装 Swashbuckle 可以帮助你 ...
- 在ASP.NET Core Web API上使用Swagger提供API文档
我在开发自己的博客系统(http://daxnet.me)时,给自己的RESTful服务增加了基于Swagger的API文档功能.当设置IISExpress的默认启动路由到Swagger的API文档页 ...
- “全能”选手—Django 1.10文档中文版Part1
本文是博主翻译的Django1.10版本官方文档的第一部分,如时间充裕,争取一直翻译下去,经验不足,或有错漏,敬请指正. 另外对于公开文档进行翻译的版权问题不是很清楚,如有侵权请联系我! 另外,要转载 ...
随机推荐
- Pytest系列(9) - 参数化@pytest.mark.parametrize
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 pytest允许在多个级别启 ...
- LeetCode | 169. 多数元素
给定一个大小为 n 的数组,找到其中的多数元素.多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你可以假设数组是非空的,并且给定的数组总是存在多数元素. 示例 1: 输入: [3,2,3] ...
- hadoop+zookeeper集群高可用搭建
hadoop+zookeeper集群高可用搭建 Senerity 发布于 2 ...
- Windows10操作技巧系列——删除最常用,最常访问,快速访问记录
Win10除了有传统意义上的,网络历史记录外,还包含了两种本地文件浏览记录,分别是资源管理器中的“快速访问”记录,和开始菜单以及任务栏中的“最常用”“最近”“最常访问”等“最记录”. 资源管理器中的“ ...
- 【numpy】新版本中numpy(numpy>1.17.0)中的random模块
numpy是Python中经常要使用的一个库,而其中的random模块经常用来生成一些数组,本文接下来将介绍numpy中random模块的一些使用方法. 首先查看numpy的版本: import nu ...
- VSCode——自定义VSCode背景图片
本文转载自https://blog.csdn.net/yukinoai/article/details/84564949 1.以管理员身份运行VS Code,安装background插件 2.打开se ...
- 切片-list、字符串
切片-list.字符串 1.字符串,切片顾头不顾尾 s="123455" print(s[0:3]) 结果:123 2.list d=[12,34,45] print(d[: ...
- JS 浏览器BOM-->open() 方法
1.定义和用法 open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口. 语法: window.open(URL,name,specs,replace) 参数: URL:打开指定的页面的U ...
- 选择排序(C++,Java,Python实现)
排序算法之选择排序,选择排序,选择排序的基本思想描述为:每一趟在n-i+1(i=1,2,-,n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录.具体来说,假设长度为n的数组arr,要按照从小 ...
- python3(十) iteration
d = {'a': 1, 'b': 2, 'c': 3} for key in d: print(key, end=' ') # a b c dict的存储不是按照list的方式顺序排列,所以,迭代出 ...