常见题目
我该怎样构建我的应用顺序?
这个题目没有明白的答案,答案取决于你的应用顺序范围和所触及的团队,为了尽量天真,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()
中间件函数。