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 অ্যাপ্লিকেশনে চমৎকার ভাবে কাজ করে।

👼 Quiz
/

লোড হচ্ছে...

Interview Questions:

1. Template Engine কী এবং Express এ কেন দরকার?

Template Engine ব্যবহার করে HTML কে ডাইনামিক করা যায়, যেখানে backend থেকে ডাটা পাঠিয়ে UI রেন্ডার করা সম্ভব।

2. EJS ও Handlebars এর মধ্যে পার্থক্য কী?

EJS জাভাস্ক্রিপ্ট ভিত্তিক এবং সহজ, আর Handlebars বেশি স্ট্রাকচারড ও লজিক কম রাখার জন্য পরিচিত।