Как использовать Ejs в JavaScript?
EJS или Embedded Javascript Templating - это механизм создания шаблонов, используемый Node.js. Механизм шаблонов помогает создать HTML-шаблон с минимальным кодом. Кроме того, он может вводить данные в шаблон HTML на стороне клиента и создавать окончательный HTML.
Установка: Установите модуль с помощью следующей команды:
npm install ejs --save
Примечание . Npm в приведенных выше командах обозначает диспетчер пакетов узлов, место, где устанавливаются все зависимости. –save
больше не нужен после версии Node 5.0.0, так как все модули, которые мы сейчас устанавливаем, будут добавлены в зависимости.
Теперь первое, что нам нужно сделать, это установить EJS в качестве нашего механизма создания шаблонов с помощью Express, который представляет собой структуру сервера веб-приложений Node.js, специально разработанную для создания одностраничных, многостраничных и гибридных веб-приложений. Он стал стандартной серверной средой для node.js.
Данные, переданные с сервера, отправляются в файл EJS, а затем мы можем получить доступ к этим данным, используя строку ниже, и она передаст эти данные в h, p или другой текстовый тег.
<% = data%>
Если мы хотим использовать эти данные для обычных js-операций, таких как if-else и циклы или другие операторы программирования, мы можем записать их в следующей форме:
<% if (data == "1") {%> <h5> Крикет </h5> <%} еще {%> <h5> Футбол </h5> <%}%>
Теперь, чтобы получить доступ к этим данным в теге сценария файла EJS или файла .js, все, что вам нужно сделать, это передать эти данные в другую переменную, как показано ниже:
let data = '<% - data%>'
Теперь вы можете выполнить любую операцию с переменной данных, которая имеет то же значение, что и переменная данных, переданная EJS.
Имя файла: index.js
// Set express as Node.js web application // server framework. // Install it using 'npm install express' command // and require like this: var express = require( 'express' ); var app = express(); // Set EJS as templating engine app.set( 'view engine' , 'ejs' ); app.get( "/" , function (req, res) { res.render( "home" , {name: 'Chris Martin' }); }); // Server setup app.listen(3000, function (req, res) { console.log( "Connected on port:3000" ); }); |
По умолчанию EJS просматривает папку «views» для отображения шаблонов. Итак, давайте создадим папку «views» в папке проекта нашего основного узла и создадим файл с именем «home.ejs», который будет обслуживаться по какому-либо желаемому запросу в нашем проекте узла.
Имя файла: home.ejs
<!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" > < meta name = "viewport" content= " width = device -width, initial-scale = 1 .0"> </ head > < body > < center > <!-- Text from EJS variable passed from server --> < h2 > Text from EJS variable passed from server is = </ h2 > < h2 style = "color:red" ><%=name%></ h2 > < br > <!-- Text from EJS variable passed from script tag --> < h2 style = "color: blue;" > Text from EJS variable passed from script tag = </ h2 > < h2 style = "color: blue;" id = "text_from_script" > </ h2 > < br > <!-- Text from EJS variable passed from script tag after manipulation --> < h2 style = "color: green;" > Text from EJS variable passed from script tag after manipulation = </ h2 > < h2 style = "color: green;" id = "text_from_script_manipulated" > </ h2 > </ center > < script > let name = '<%-name%>' let heading = document .getElementById('text_from_script'); heading.innerText = name; name = "Mr. " + name; let heading_man = document.getElementById( 'text_from_script_manipulated'); heading_man.innerText = name; </ script > </ body > </ html > |
Переменная имени была передана с сервера в файл name.ejs и показана с использованием тега h2, чтобы использовать переменную имени в теге скрипта, все, что мы сделали, это объявили переменную и передали переменную EJS в объявленную переменную, используя:
пусть имя = '<% - имя%>'
Шаги по запуску программы:
- После создания всех файлов перейдите в корневой каталог папки вашего проекта.
- Запустите командную строку в этом каталоге.
- Введите следующую команду, чтобы запустить вашу программу и увидеть результат, как показано.
узел index.js
Выход: