ejs错误'include'需要'filename'选项

时间:2015-04-20 12:56:26

标签: node.js ejs

问题

通过一些在线示例,您可以使用这样的语法

<%- include hello-world %>

甚至可以使用

<%- include('hello-world'); %>

您可能会收到包含缺少文件名的错误

Exception occurred: Error: `include` requires the 'filename' option.

如果我的语法正确,问题在哪里?

1 个答案:

答案 0 :(得分:4)

<强>解

简单的答案在后端&#34;文件路径&#34;

但即使您使用了正确的路径,也会出现错误

var fs = require('fs');
ejs.render(fs.readFileSync(__dirname + '/templates/include.ejs', 'utf8'), {});

正确答案是&#34;使用renderFile&#34;

ejs.renderFile(__dirname + '/templates/include.ejs', {}, function(err, result) {
    if (!err) {
        res.end(result);
    }
    else {
        res.end(err.toString());
        console.log(err);
    }
});

<强> REF

https://github.com/tj/ejs/issues/138