无法在ejs模板中调用函数

时间:2018-07-05 06:10:53

标签: javascript ejs

我在调用ejs文件中的函数时遇到问题。

我有单独的js文件'main.js',

// this is main.js
var hello = function() {
   return "hello";
}

我想在我的ejs文件中调用hello(),但它返回错误。

  

您好未定义

这是我的ejs文件

<script src="path/main.js"></script>
<%= hello() %>   ***this is where the error occurs.

如果有人知道如何解决此问题,请告诉我。感谢您的帮助。 :)

2 个答案:

答案 0 :(得分:2)

您有两个JavaScript程序。

一个呈现模板。另一个运行在从渲染输出创建的网页中。

您需要将函数加载到前者中。

通过在模板的输出中生成脚本元素,将其加载到模板中。

答案 1 :(得分:0)

几天前,我遇到了同样的问题。 因此,您应该创建两个ejs文件。 例如,您的函数位于hello.ejs

<%
var hello = function() {
   return "hello";
}
%>

main.ejs文件中,您应该这样包含hello.ejs

<% include *file_path*/hello%> 

也许还有其他解决方案,但我建议您那样使用。