部分常用Express方法详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

部分常⽤Express⽅法详解
app.set(name, value)
分配给name⼀个value,并将name作为的⼀个属性。

使⽤app.set('foo', true)相当于调⽤app.enable('foo')。

相似的,使⽤app.set('foo', false)相当于调⽤app.disable('foo')。

通过使⽤重新得到该值。

app.set('title', 'My Site');
app.get('title'); // "My Site"
app.engine(ext, callback)
将ext交给回调函数处理,这个回调函数由模板引擎提供。

默认的,Express会基于⽂件的扩展名来require()模板引擎。

⽐如,如果你渲染 “foo.jade” ⽂件,Express会在内部调执⾏下⾯这些代码,为了提升性能,会缓存require()的结果⽤于之后的⼀系列调⽤。

app.engine('jade', require('jade').__express);
如果模板引擎没有提供.__express⽅法(这句笔者也不太理解什么意思),或者你希望让模板引擎映射⼀个和默认不同的扩展,你可以使⽤app.engine()⽅法。

⽐如说,让EJS模板引擎映射到 “.html” ⽂件:
app.engine('html', require('ejs').renderFile);
这个例⼦中,EJS提供了⼀个.renderFile()⽅法,这个⽅法符合Express期待的形式:(path, options, callback),于是这个renderFile⽅法在内部会被化名
为ejs.__express所以如果你渲染使⽤'.ejs'⽂件时你不需要做任何事情,⼀切都在你看不见的内部解决了。

有⼀些模板引擎并不遵守这个约定,库可以让Node的模板引擎去遵守这⼀约定,让这些模板引擎可以和Express⽆缝对接。

var engines = require('consolidate');
app.engine('haml', engines.haml);
app.engine('html', engines.hogan);。

相关文档
最新文档