【发布时间】:2020-02-01 14:46:45
【问题描述】:
文件 1:ejsfunction.ejs
<% function funcTest() {return 42;} %>
文件 2:file.ejs
<% include ejsfunction.ejs %>
<% funcTest(); %>
输出:
ReferenceError:
1| <% include ejsfunction.ejs %>
>> 2| <% funcTest(); %>
funcTest is not defined
您好,我正在处理一个 node.js/express 项目,并尝试将一些函数从 ejs 文件中重构到第二个文件中,然后使用 include 指令将它们重新加载。不幸的是,我正在做某事错误,因为我在上面的代码中不断收到 ReferenceError。
谁能告诉我我做错了什么?
提前非常感谢!丹。
【问题讨论】:
-
我不确定 EJS 是否支持以这种方式调用函数。我在ejs.co/#docs 看不到任何这样的例子。看起来您必须将函数转换为模板,并将其包含在您想要“调用”它的任何位置。
-
Re Mukhammadsher 的评论:感谢您的链接。实际上,我已经在我的项目中使用了 partials,而且效果很好。但是,我没有在第二个文件的这些部分中引用任何函数。
-
澄清一下:在我上面非常简单的例子中,看起来我可以从我的常规 javascript 代码中将一个函数传递给 ejs - 但是,在我的真实代码中,我确实需要 ejs功能 - 不仅仅是普通的 javascript。
标签: javascript node.js express ejs