从现有文件加载模板

时间:2015-09-13 14:34:42

标签: node.js handlebars.js

我在我的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把手的好信息。

0 个答案:

没有答案