如何使用Express来呈现动态文件?

时间:2014-12-19 04:12:04

标签: node.js dynamic express

我希望使用Express将原始字符串呈现为HTML,并能够引用指定目录中的静态文件(CSS,图像和其他资源)。

我已经做了很多研究,但我还没有看到任何接近我正在尝试做的事情。例如,我想也许编写一个自定义模板引擎,只有假装来加载文件才会削减它,但这似乎没有办法。

最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

有很多方法可以做到这一点。 它也可以在任何其他模板引擎中完成,但在这里我指导您使用EJS(嵌入式Javascript)实现它。

使用Express Generator创建带有EJS模板引擎的ExpressJS应用程序。

命令:

express --ejs AppName

有关express Generator的更多信息,请参阅doc here

现在EJS有以下标签:

 1. <% code %>   -  Code that is evaulated without "echo" it is not printed out.
 2. <%= code  %>  -  Code that is evaluated and printed out and escaped!
 3. <%- Code %>   -  Code that is evaluated printed out and not escaped!

因此,在您的情况下,您可以使用我在上面提到的第三个标记。

以路线配置的常规方式渲染EJS视图:

res.render('index.ejs', {
  // data you want to pass ..
});

代码示例

前段时间我正在玩EJS,我开发了一个非常小的blogApp练习。 您可以查看this视图,第33行,以获得更实用的实现方法。