на самом деле я использовал такие функции, как следовать
function selectBloodGroupNames()
{
return array("A+", "O+", "B+", "AB+", "A-", "O-", "B-", "AB-", "A1+Ve",
"Unknown");
}
вышеупомянутая функция возвращает список групп крови, которые можно отформатировать в соответствии с нашей идеей, например, отображать их в раскрывающемся списке или в таблице !!!
я сохранил эту функцию в отдельном файле с именем functions.php
как использовать то же самое, что и в node.js в экспресс-модуле и в ejs или базовом движке шаблонов html.
для использования в node.js вы можете создать отдельный файл common.js
module.exports=function selectBloodGroupNames()
{
return ["A+", "O+", "B+", "AB+", "A-", "O-", "B-", "AB-", "A1+Ve",
"Unknown"];
}
затем в файл, который вы хотите использовать, вы можете включить его и использовать, как показано ниже: —
const Common=require('pathto/common.js');
let bloodGroupList= Common.selectBloodGroupNames();
//now you can use it where ever you want
console.log(bloodGroupList);
Полный пример с массивом доступа в EJS файл
data.js
const sampleArray = {
function1(){
return ["A+", "O+", "B+", "AB+", "A-", "O-", "B-", "AB-", "A1+Ve",
"Unknown"];
},
function2() {
return ["A+", "O+", "B+", "AB+", "A-", "O-", "B-", "AB-", "A1+Ve",
"Unknown"];
}
}
module.exports = sampleArray;
main.js // рендеринг файла EJS.
const sampleArray = require('./data');
app.get('/renderEjs', function(req, res) {
res.set('Content-Type', 'application/javascript');
res.render('ejsHtmlFileName', { myArray :sampleArray.function1(),myArrayTwo:sampleArray.function2()});
});
ejsFile
<div><p><%= myArray %><%= myArrayTwo %></p></div>
Ссылка Ссылка для отображения данных в файле EJS — ССЫЛКА НА САЙТ
Что делать, если у меня есть функции, такие как ниже, как это работает?
function successMessage($message)
{
echo ' <div class="alert pastel alert-success" align="center"> <p>'.$message.'</p></div> ';
}
Вы должны установить Babel, чтобы иметь возможность использовать ES6 для JavaScript
npm install --save-dev babel-core
Затем вы создаете отдельный файл config.js. В config.js:
export default Config {
selectBloodGroupNames() {
return ["A+", "O+", "B+", "AB+", "A-", "O-", "B-", "AB-", "A1+Ve",
"Unknown"];
}
}
тогда в файле вы хотите использовать функцию
import Config from ./pathto/config.js;
function functionName () {
var arr = Config.selectBloodGroupNames();
}
Наконец-то я сам нашел решение с ответом со ссылкой на @IftekharDani и сделал некоторые изменения сам
functions.js файл, который содержит несколько функций !!!
module.exports = {
menuTop: function(){
var data = '<li>'+
'<a href="/login">Log in</a>'+
'</li>'+
'<li>'+
'<a href="/register">Register</a>'+
'</li>';
return data;
},
workCheck: function(user){
if(user === "OLD")
{
var data1 = '<h1>OLD user</h1>';
}
else
{
var data1 = '<h1>Unknown or new user</h1>';
}
return data1;
}
};
app.js основной файл рендеринга, где я передаю весь файл с переменной в файл ejs
var func = require('./functions');
app.get('/', function (req, res) {
res.render('home', { funs : func});
});
home.ejs файл, который содержит содержание функции.
функция 1
<ul class="nav navbar-nav navbar-right">
<%- funs.menuTop(); %>
</ul>
функция 2
<div class="row">
<%- funs.workCheck("NEW"); %>
/* Here i pass parameter to the function that i call from the external file to which make more dynamic. */
</div>
и наконец я получаю ожидаемый результат! я дам 50% кредитов @IftekharDani за то, что дал мне идею. Спасибо!