我使用EJS模板并尝试组织EJS中定义的一些函数。例如,假设我在模板中有一个简单的函数:
<%
const getItems = () => {}
%>
当它被定义在同一页面上使用时,这非常好。但是,如果我想将其移至通用functions.ejs
,则在其他网页<%- include(functions) %>
中getItems
未定义。
有人知道如何在ejs中包含可重复使用的功能吗?
答案 0 :(得分:0)
根据我的经验,这可能与您调用该functions.ejs
文件的方式和位置有很大关系。您应该在其他模板的变量范围内呈现它,也许您希望在其他代码上方使用伪指令<% include('functions') %>
,希望达到functions.ejs
的范围。
例如,您可能有两个不同的EJS模板文件:functions.ejs
和other_functions.ejs
,并想从第三个模板文件中调用它们。一个选择是:
<!-- Bla bla bla -->
<% include('functions') %>
<!-- stuff using 'functions.ejs' code -->
<% include('other_functions') %>
<!-- stuff inside of 'other_functions.ejs' calling 'functions.ejs' code -->
最后,结果可能是:
<!-- Bla bla bla -->
const getItems = () => {}
<!-- stuff using 'functions.ejs' code -->
var items = getItems()
<!-- stuff inside of 'other_functions.ejs' calling 'functions.ejs' code -->
请告诉我是否正在帮助您查看解决方案。