Express অ্যাপ স্ট্রাকচার ব্যাখ্যা

ExpressJS সেটআপ এবং ইনস্টলেশন - এক্সপ্রেসজেএস (ExpressJS) - Web Development

384

ExpressJS অ্যাপ্লিকেশন তৈরির সময় একটি ভালো স্ট্রাকচার বজায় রাখা খুবই গুরুত্বপূর্ণ। সঠিক স্ট্রাকচার একটি অ্যাপ্লিকেশনকে সুসংগঠিত, পরিস্কার এবং মেইনটেইন করতে সুবিধাজনক করে তোলে। ExpressJS অ্যাপ্লিকেশন সাধারণত বিভিন্ন ফোল্ডার এবং ফাইল দ্বারা গঠিত হয়, যেখানে প্রতিটি ফোল্ডার এবং ফাইল একটি নির্দিষ্ট দায়িত্ব পালন করে।


Express অ্যাপ স্ট্রাকচারের মূল উপাদানগুলো

একটি সাধারণ ExpressJS অ্যাপ্লিকেশনের স্ট্রাকচার দেখতে এই রকম হতে পারে:

my-express-app/
│
├── node_modules/           # ইনস্টল হওয়া প্যাকেজগুলো
├── public/                 # স্ট্যাটিক ফাইল (যেমন: HTML, CSS, JS, ইমেজ)
├── routes/                 # রাউট ফাইলগুলো
│   └── index.js            # রুট রাউট ফাইল
├── views/                  # টেমপ্লেট ফাইল (যেমন: EJS, Pug)
├── app.js                  # মূল অ্যাপ্লিকেশন ফাইল
├── package.json            # ডিপেনডেন্সি ও স্ক্রিপ্ট সংক্রান্ত কনফিগারেশন
├── package-lock.json       # নির্দিষ্ট সংস্করণে প্যাকেজের ডিপেনডেন্সি
└── .gitignore              # গিটের জন্য অগ্রাহ্যযোগ্য ফাইলগুলোর তালিকা

Express অ্যাপ্লিকেশনের উপাদানগুলির ব্যাখ্যা

১. node_modules/

এই ফোল্ডারটি আপনার প্রোজেক্টের সকল ইনস্টল হওয়া প্যাকেজ ধারণ করে। যখন আপনি npm install চালান, তখন এখানে প্রয়োজনীয় সব প্যাকেজ ইনস্টল হয়ে যায়।

২. public/

এই ফোল্ডারটি স্ট্যাটিক ফাইল (যেমন: HTML, CSS, ইমেজ, JavaScript) রাখার জন্য ব্যবহৃত হয়। ExpressJS-এ স্ট্যাটিক ফাইল সরবরাহ করতে express.static মিডলওয়্যার ব্যবহার করা হয়।

  • উদাহরণ:

    public/
    ├── images/
    ├── css/
    └── js/
    

    অ্যাপ্লিকেশনটিতে আপনি স্ট্যাটিক ফাইল সরবরাহ করতে পারেন এমনভাবে:

    app.use(express.static('public'));
    

৩. routes/

এই ফোল্ডারে অ্যাপ্লিকেশনের সমস্ত রাউট ফাইল রাখা হয়। রাউট ফাইলগুলিতে অ্যাপ্লিকেশনের বিভিন্ন URL এর জন্য কোড লেখা হয়।

  • উদাহরণ: routes/index.js ফাইলটি এমন কিছু রাউট ধারণ করবে:

    const express = require('express');
    const router = express.Router();
    
    router.get('/', (req, res) => {
      res.send('Welcome to the Home Page');
    });
    
    module.exports = router;
    

    অ্যাপের মূল ফাইলে (যেমন app.js) এই রাউটগুলি ইমপোর্ট করে ব্যবহার করা হয়:

    const indexRouter = require('./routes/index');
    app.use('/', indexRouter);
    

৪. views/

এই ফোল্ডারটি টেমপ্লেট ফাইল ধারণ করে। ExpressJS EJS, Pug, Handlebars ইত্যাদি টেমপ্লেট ইঞ্জিন ব্যবহার করে ডায়নামিক HTML পৃষ্ঠাগুলি তৈরি করতে সহায়তা করে।

  • উদাহরণ:

    views/
    ├── index.ejs
    └── about.ejs
    

    অ্যাপ্লিকেশনে যখন res.render() ব্যবহৃত হয়, তখন এখানে টেমপ্লেট রেন্ডার হয়:

    app.set('view engine', 'ejs');
    app.get('/', (req, res) => {
      res.render('index', { title: 'My First Express App' });
    });
    

৫. app.js

এটি অ্যাপ্লিকেশনের মূল ফাইল, যেখানে Express অ্যাপ্লিকেশন তৈরি এবং কনফিগার করা হয়। এখানে রাউট, মিডলওয়্যার, এবং সার্ভার লিসেনার কনফিগার করা হয়।

  • উদাহরণ:

    const express = require('express');
    const app = express();
    const port = 3000;
    
    // রুট রাউট
    app.get('/', (req, res) => {
      res.send('Hello World!');
    });
    
    app.listen(port, () => {
      console.log(`Server running at http://localhost:${port}`);
    });
    

৬. package.json

এই ফাইলটি প্রোজেক্টের ডিপেনডেন্সি, স্ক্রিপ্ট, অ্যাপ্লিকেশনের নাম, সংস্করণ এবং অন্যান্য কনফিগারেশন ধারণ করে। npm install চালানোর মাধ্যমে আপনার প্রয়োজনীয় প্যাকেজগুলি ইনস্টল করা হয় এবং package.json ফাইলটি তা ট্র্যাক করে।

  • উদাহরণ:

    {
      "name": "my-first-express-app",
      "version": "1.0.0",
      "main": "app.js",
      "scripts": {
        "start": "node app.js"
      },
      "dependencies": {
        "express": "^4.17.1"
      }
    }
    

৭. package-lock.json

এই ফাইলটি আপনার প্রোজেক্টের সকল প্যাকেজের নির্দিষ্ট সংস্করণ সংরক্ষণ করে, যাতে প্রকল্পে নির্দিষ্ট সংস্করণের প্যাকেজ ব্যবহার হয় এবং সেটি সবার জন্য সঠিকভাবে কাজ করে।

৮. .gitignore

এই ফাইলটি গিট রিপোজিটরির জন্য নির্দিষ্ট ফাইলগুলো অগ্রাহ্য করতে ব্যবহৃত হয়, যেমন node_modules/, .env ইত্যাদি, যাতে এগুলো গিট রিপোজিটরিতে না চলে যায়।


Express অ্যাপ্লিকেশনের একটি সাধারণ স্ট্রাকচার

my-express-app/
│
├── node_modules/           # ইনস্টল হওয়া প্যাকেজগুলো
├── public/                 # স্ট্যাটিক ফাইল
│   ├── css/
│   └── images/
├── routes/                 # রাউট ফাইলগুলো
│   └── index.js
├── views/                  # টেমপ্লেট ফাইল (EJS, Pug ইত্যাদি)
│   └── index.ejs
├── app.js                  # মূল অ্যাপ্লিকেশন ফাইল
├── package.json            # প্যাকেজ কনফিগারেশন
├── package-lock.json       # নির্দিষ্ট সংস্করণে প্যাকেজের ডিপেনডেন্সি
└── .gitignore              # গিটের জন্য অগ্রাহ্যযোগ্য ফাইল

সারাংশ

ExpressJS অ্যাপ্লিকেশনের স্ট্রাকচার নির্ভর করে তার স্কেল এবং প্রয়োজন অনুযায়ী ভিন্ন হতে পারে, তবে উপরের স্ট্রাকচারটি একটি সাধারণ এবং সুসংগঠিত অ্যাপ্লিকেশনের ধারণা দেয়। প্রতিটি ফোল্ডারের একটি নির্দিষ্ট কাজ রয়েছে এবং সেগুলি অ্যাপ্লিকেশন ডেভেলপমেন্টকে সহজ এবং পরিচালনাযোগ্য করে তোলে। ExpressJS-এ রাউট, স্ট্যাটিক ফাইল, টেমপ্লেট ইঞ্জিন এবং মিডলওয়্যার ব্যবহার করে একটি শক্তিশালী এবং স্কেলেবল অ্যাপ্লিকেশন তৈরি করা সম্ভব।

Content added By
Promotion

Are you sure to start over?

Loading...