我在我的NodeJS应用程序中使用Handlebars
作为我的模板引擎。
我已将所有模板放在views
文件夹中,如下所示:
-
- /controllers
- /views
- index.html
- server.js
这是我的代码,当用户访问给定的网址时使用express
进行路由来呈现模板:
app.get("/", function(req, res){
var template = handlebars.compile("views/index.html");
var data = {"name": "Charles"};
var result = template(data);
res.send(result);
});
我试图从文件中渲染模板,但它无法正常工作。当我访问/
网址时,这就是浏览器直接输出的内容:
views/index.html
这是有道理的,因为它将给定的参数直接解释为字符串,而不是作为外部模板的路径。
如何将模板文件(在本例中为views/index.html
中的文件加载到变量中,以便我可以渲染模板?
我发现的唯一例子是将所有模板存储在一个文件中并通过AJAX加载它们,但所有这些例子都来自"前端"把手,而不是与Node一起使用时。
有可能实现我想要的吗?我查看了文档,但很难找到NodeJS把手的好信息。