如何从文件中呈现EJS模板?

时间:2016-06-01 01:20:49

标签: node.js ejs

如何使用特定EJS文件中的数据呈现HTML?

例如,我有一个包含HTML的文件email.ejs,如下所示:

<a href="<%= uniqueUrl %>"><%= uniqueUrl %></a>

我尝试了以下操作,但不断出现多个错误:

var ejs = require('ejs');
var html = ejs.render({uniqueUrl: passedOptions.uniqueUrl, template: 'templates/emails/reset-password.ejs'})

1 个答案:

答案 0 :(得分:1)

通常你会在快递中使用它:

const express = require('express');
var app = express();

app.get("/", function(req, res) {
  res.render("index.ejs", { /* ... */ });
});

并且您的模板文件位于views/子文件夹中。

如果你想使用ejs:

ejs.renderFile(filename, data, options, function(err, str){
    // str => Rendered HTML string 
});

来自doc

如果这不起作用,请提供您的错误。

PS:

  

显然,由于您无法访问文件系统,ejs.renderFile()将无效。

如果您在浏览器中,则从文件中呈现模板不起作用。