作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想将 ejs 用于部分页面,将 jade 用于单个页面,如何在一个 nodejs 和 express 项目中同时使用两者?
最佳答案
在expressjs api docs中找路很容易和 consolidate.js在 github
请引用下面的 express.js 文档片段
app.engine(ext, callback)
将给定的模板引擎回调注册为 ext 默认情况下将 require() 基于文件扩展名的引擎。例如,如果您尝试呈现“foo.jade”文件,Express 将在内部调用以下内容,并在后续调用中缓存 require() 以提高性能。
app.engine('jade', require('jade').__express);
对于不提供开箱即用的 .__express 的引擎 - 或者如果您希望将不同的扩展“映射”到模板引擎,您可以使用此方法。例如将 EJS 模板引擎映射到“.html”文件:
app.engine('html', require('ejs').renderFile);
在这种情况下,EJS 提供了一个 .renderFile() 方法,其签名与 Express 所期望的相同:(路径、选项、回调),但请注意,如果您使用“. ejs”扩展你不需要做任何事情。
一些模板引擎不遵循这个约定,consolidate.js 库被创建来映射所有流行的 Node 模板引擎以遵循这个约定,从而允许它们在 Express 中无缝地工作。
var engines = require('consolidate');
app.engine('haml', engines.haml);
app.engine('html', engines.hogan);
关于node.js - 如何在一个node js和express项目中同时使用js和jade?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16783413/
我是一名优秀的程序员,十分优秀!