我希望使用Express将原始字符串呈现为HTML,并能够引用指定目录中的静态文件(CSS,图像和其他资源)。
我已经做了很多研究,但我还没有看到任何接近我正在尝试做的事情。例如,我想也许编写一个自定义模板引擎,只有假装来加载文件才会削减它,但这似乎没有办法。
最好的方法是什么?
答案 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行,以获得更实用的实现方法。