常见问题

我该如何构建我的应用程序?

这个问题没有明确的答案,答案取决于你的应用程序规模和所涉及的团队,为了尽可能灵活,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()中间件函数。


上一篇:静态文件

下一篇:路由

最新文章

  1. 《HeadFirst SQL》笔记
  2. pycharm5注册码
  3. Javascript学习笔记:3种递归函数中调用自身的写法
  4. python3 文件增删查
  5. POJ 2540 Hotter Colder --半平面交
  6. MVC控制下输出图片、javascript与json格式
  7. 超详细cordova环境配置(windows)及实例
  8. JDE910笔记1--基础介绍及配置[转]
  9. [转]ubuntu server上网配置
  10. LR之Java虚拟用户
  11. Base64.java 工具类
  12. Entity Framework 配置
  13. mysql sql优化<1>
  14. RMAN数据库恢复之控制文件和参数文件恢复
  15. easyui 小知识
  16. ios中的关键词retain release
  17. [转载] Solr使用入门指南
  18. python3 第三章 - 程序的基本结构
  19. springboot 开启事务以及手动提交事务
  20. 推荐好用的JavaScript模块

热门文章

  1. npm install报错:chromedriver@2.27.2 install: node install.js
  2. <E> 泛型
  3. "文本加粗"组件:<b> —— 快应用组件库H-UI
  4. Django-rest-framework 是个什么鬼?
  5. 使用rem配置PC端自适应大屏
  6. Jackson优化使用实例
  7. 算法竞赛 从c到c++3
  8. Jmeter连接mysql数据库?so easy!!!
  9. IP连接数据库语句
  10. L5语言模型与数据集