【问题标题】:Express - Create a new view engineExpress - 创建一个新的视图引擎
【发布时间】:2014-07-29 08:44:50
【问题描述】:

我知道expressjs支持很多视图引擎,比如:ejs、jade等。我在这里看到了一个列表:http://expressjs-book.com/forums/topic/how-to-use-alternative-non-jade-template-engines-with-express/

我的问题是如何创建自己的视图引擎。我查看了 ejs 和其他引擎的源代码,但我并没有真正找到关于如何创建新引擎、要求是什么或有关它的教程的 expressjs 文档。

是否可以创建新的自定义视图引擎?谢谢。

【问题讨论】:

  • Is it possible to create a new custom view engine? 当然,做了很多次。基本上,视图引擎是某种 HTML 编译器。您可以将视图引擎与 JavaScript 或 CSS 预处理器进行比较,例如CoffeeScript/TypeScript 或 Less/Sass。如果您希望您的视图引擎有效,您将需要一些关于编译器如何工作的知识。但我不知道你为什么会遇到麻烦,已经有足够多的视图引擎了,你为什么要重新发明轮子?

标签: node.js express ejs viewengine


【解决方案1】:

是的,当然。查看this 模板引擎列表。

关于 express 本身,您需要做的是创建一个插件,甚至是一个中间件函数 - 它将您的 renderrenderFile 和类似的方法附加到响应对象。

如果您不使用 express 引擎并尝试使用 response.render('index.ejs');,则会收到错误消息。但是如果那个响应对象有一个渲染方法,你就可以了。所以归根结底就是用你需要的扩展 expresses 的响应对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-05
    • 2012-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多