当前位置: 首页 > 后端技术 > Node.js

快速文档(常见问题解答)

时间:2023-04-03 12:06:07 Node.js

常见问题解答如何构建我的应用程序?这个问题没有明确的答案,答案取决于你的应用程序的大小和涉及的团队,为了尽可能灵活,Express在结构方面不做任何假设。路由和其他特定于应用程序的逻辑可以存在于任意数量的文件中,无论您喜欢什么目录结构,请查看以下示例以获取灵感:路由列表路由图MVC样式控制器AlsoExpress,它简化了其中一些模式:如何资源丰富的路由是否定义了一个模型?Express没有数据库的概念,这个概念是由第三方Node模块决定的,这些模块允许你与几乎任何数据库进行交互。有关以模型为中心的基于Express的框架,请参阅LoopBack。如何验证用户?身份验证是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("Sorrycan'tfindthat!")})在运行时在express.Router()实例上动态添加路由,这样路由就不会被中间件函数替换。如何设置错误处理程序?您可以使用与其他中间件相同的方式定义错误处理中间件,除了使用四个参数而不是三个参数,具体签名(err,req,res,next):app.use(function(err,req,res,next){console.error(err.stack)res.status(500).send('Somethingbroke!')})有关更多信息,请参阅错误处理。如何呈现纯HTML?无需使用res.render()函数“渲染”HTML,如果您有特定文件,请使用res.sendFile()函数,如果您从目录。上一篇:静态文件下一篇:路由