如何使用特定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'})
答案 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()
将无效。
如果您在浏览器中,则从文件中呈现模板不起作用。