Template Engine Setup (EJS / PUG)
Express.js Template Engines (EJS, Pug) Explained – Full Guide
ওয়েব অ্যাপ্লিকেশন তৈরির সময় অনেক সময় সার্ভার থেকে ডাইনামিক HTML তৈরি করতে হয়। Express.js এ এই কাজটি করা হয় Template Engine এর মাধ্যমে। সবচেয়ে জনপ্রিয় দুটি template engine হল EJS এবং Pug। এই টপিকে আমরা শিখব Template Engine কী, কেন ব্যবহার করা হয় এবং EJS ও Pug এর বিস্তারিত।
🟢 Template Engine কী?
Template Engine হল এমন একটি সিস্টেম যা সার্ভার থেকে ডাইনামিক ডেটা পাঠিয়ে HTML ফাইল তৈরি করতে সাহায্য করে।
✔ Template Engine কী করে?
- HTML এর মধ্যে ডাইনামিক ডেটা ইনজেক্ট করে
- বারবার একই HTML কোড না লিখে পুনঃব্যবহারযোগ্য পেজ তৈরি করা যায়
- Condition, Loop ইত্যাদি ব্যবহার করা যায়
- UI কে পরিষ্কার ও কার্যকর করে তোলে
Express.js এ EJS, Pug, Handlebars সহ অনেক template engine ব্যবহার করা যায়। তবে সবচেয়ে বেশি ব্যবহৃত দুটি হলো EJS এবং Pug।
🟦 1. EJS (Embedded JavaScript)
EJS একটি জনপ্রিয় টেমপ্লেট ইঞ্জিন যেখানে HTML কোড লিখেই JavaScript এর মতো syntax ব্যবহার করা যায়।
✔ EJS Install
npm install ejs
✔ Express Setup with EJS
const express = require('express');
const app = express();
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
res.render('index', { name: "Rahim" });
});
app.listen(5000, () => console.log("Server running"));
✔ EJS Template Example: (views/index.ejs)
<h1>Hello <%= name %></h1>
এখানে <%= %> ব্যবহার করে ডাইনামিক ডেটা HTML এ দেখানো হয়।
📌 EJS এর Key Features:
- Normal HTML + JavaScript Syntax
- Loop, If, Include ব্যবহার করা যায়
- Frontend ডেভেলপারদের জন্য সহজ
🟩 2. Pug (Jade) Template Engine
Pug একটি whitespace-based template engine যেখানে HTML লিখতে হয় না। ট্যাগ ও ইনডেন্টেশন ব্যবহার করে HTML structure তৈরি হয়।
✔ Install Pug
npm install pug
✔ Setup Pug in Express
const express = require('express');
const app = express();
app.set('view engine', 'pug');
app.get('/', (req, res) => {
res.render('index', { title: "Homepage", message: "Welcome User" });
});
app.listen(5000, () => console.log("Server running"));
✔ Pug File Example: (views/index.pug)
html
head
title= title
body
h1= message
p Welcome to Pug Template Engine
📌 Pug এর Key Features:
- HTML লেখার প্রয়োজন নেই
- Clean, readable syntax
- Condition, Loop, Mixins সাপোর্ট
- Fast এবং lightweight
🟠 EJS vs Pug Comparison
| Feature | EJS | Pug |
|---|---|---|
| Syntax | HTML Based | Indentation Based |
| Learning Curve | Easy | Moderate |
| Performance | Good | Faster |
🟣 কোন ক্ষেত্রে কোনটি ব্যবহার করবেন?
✔ যখন EJS ব্যবহার করবেন
- যদি আপনি HTML জানেন
- React/Frontend background থাকে
- Quick templating প্রয়োজন
✔ যখন Pug ব্যবহার করবেন
- Less code & less HTML চান
- Fast compiling দরকার
- Clean & structured UI template চাই
🎯 Conclusion
Express.js এ template engine ব্যবহার করে সহজেই dynamic HTML তৈরি করা যায়। EJS HTML Based হওয়ায় এটি শিখতে সহজ এবং জনপ্রিয়। অন্যদিকে Pug একটি clean ও powerful syntax প্রদান করে। দুটোই Express.js অ্যাপ্লিকেশনে চমৎকার ভাবে কাজ করে।
লোড হচ্ছে...
1. Template Engine কী এবং Express এ কেন দরকার?
Template Engine ব্যবহার করে HTML কে ডাইনামিক করা যায়, যেখানে backend থেকে ডাটা পাঠিয়ে UI রেন্ডার করা সম্ভব।
2. EJS ও Handlebars এর মধ্যে পার্থক্য কী?
EJS জাভাস্ক্রিপ্ট ভিত্তিক এবং সহজ, আর Handlebars বেশি স্ট্রাকচারড ও লজিক কম রাখার জন্য পরিচিত।