EJS включает внешние функции - helpers.js не работает "помощники не определены" - PullRequest
0 голосов
/ 16 октября 2019

Я хочу включить свой note.js (который содержит функцию) в ejs.

"Файл ejs будет отображаться на стороне сервера, а файл js будет отображаться на стороне клиента. Вы можете передатьданные из ejs в js, но не из js обратно в ejs. "

Я нашел несколько решений для определения функций javasript в ejs, но ничего не получалось. Теперь я попробовал решение от Abrar Hossain EJS включает функции, определенные в отдельном файле ejs , но я получил ошибку:

Помощники не определены

(Потому что) я не уверен, что добавить в helpers.js и, возможно, вызов неправильный?

Я получил консольный журнал "да", поэтому путь правильный.

index.js:

// include helpers.js for note.js
const ejs_helpers = require('./public/js/helpers.js');

.get('db', .... {
....
....
}

res.render('db', results, { helpers:ejs_helpers });

.ejs:

<%- helpers.note(note.js); %>

helpers.js:

/* ejs_helpers.js - to use external scripts */

console.log("yeah!");

exports = module.exports = {};
exports.iif = function(cond,value){
  if(cond) return value;
  return '';
}
...