Вызовите функции javascript для другого файла из шаблонов EJS в Harp.js
Попытка сделать сайт с Harp.js здесь. Я использую шаблоны ejs и хочу хранить некоторые полезные функции JavaScript в центральном файле. Как я могу это сделать? Я пытался использовать
<% include _render_util.js %>
Но это не работает (похоже, что файл js не анализируется).
Есть идеи? Спасибо!
1 ответ
Хотя есть способы сделать это (иногда), это не то, что было встроено в 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>
Пример gist: https://gist.github.com/jorgepedret/816c2b3985ad12cef022
На GitHub есть открытая проблема, обсуждающая эту проблему https://github.com/sintaxi/harp/issues/272
Этот пример - скорее взлом, чем рекомендуемое решение. Я видел случаи, когда это неожиданно ломалось.