NODE.JS访问EJS模板中的函数

时间:2019-02-21 20:34:59

标签: javascript node.js function ejs

我有一个scripts.js文件,其中包含一个我想在EJS模板中访问的函数。

在模板中,我包含一个标题,在标题中,我向scripts.js添加了一个脚本rel

<script src="/scripts/scripts.js" type="text/javascript"></script> 

我通过console.log(“ test”)进行了测试,当调用模板时,控制台中出现了“ test”。

当我尝试在EJS模板中调用实际函数(verify_data)时,出现错误verify_data未定义。 EJS中的错误代码如下:

<p><em>Submited By <%= verify_data(results.user.username) %></em></p>

该函数检查所传递的参数是否为null / undefined,如果是,则返回数据,如果不是,则返回“ n / a”字符串。

如何直接在EJS模板中访问JS函数?

谢谢

1 个答案:

答案 0 :(得分:1)

假设您不使用SPA框架,则需要添加一个标签,该标签将被功能替换或包含您要存储的数据。

查看此代码段

<p><em>Submited By <span id='userData'></span></em></p>

<script>
//This is the script.js
function verify_data(userName) {
  return `My data with '${userName}'`;
}
</script>

<script>
  let data = verify_data("EleFromStack"); // assuming <%=results.user.username%> = "EleFromStack"
  document.querySelector("#userData").textContent = data;
</script>