从Harp.js中的EJS模板调用另一个文件上的javascript函数

时间:2014-03-28 04:54:38

标签: web ejs harp

尝试在此处创建一个包含Harp.js的网站。我使用ejs模板,并希望在中央文件中存储一些有用的javascript函数。我怎么做?我试着用

<% include _render_util.js %>

但它不起作用(似乎没有解析js文件)。

有什么想法吗? 谢谢!

1 个答案:

答案 0 :(得分:4)

虽然有很多方法可以完成这项工作(有时候),但这并不是Harp.js中提供的内容。强制此行为通常需要一些时间来调试并导致意外问题。

这是我做的一个快速实验(我没有通过测试):

helpers.ejs

我创建了一个say_hello函数,它接受一个名称并输出字符串Hello, {name}

<%
say_hello = function (name) {
  return 'Hello, ' + name;
}
%>

index.ejs

我在第一行中include helpers.ejs(上面提到的文件),然后在第二行使用该函数。这会输出<h1>Hello, beautiful</h1>

<% include helpers.ejs %>
<h1><%= say_hello("beautiful") %></h1>

示例要点:https://gist.github.com/jorgepedret/816c2b3985ad12cef022

GitHub上有一个未解决的问题,讨论这个问题https://github.com/sintaxi/harp/issues/272

这个例子更像是一个黑客而不是推荐的解决方案。我见过以意想不到的方式打破的情况。