Skip to Content

Deep Dive Alias & Index.js

আমরা মডুলার সিস্টেমকে ডিপ ডাইভ করে বোঝার চেষ্টা করবো।

📁 মডিউল ফাইল তৈরি

আগের ভিডিওতে আমরা file2.js নামে একটি ফাইল তৈরি করেছিলাম, যেখানে:

  • একটি add ফাংশন ছিল
  • দুটি ভেরিয়েবল ছিল: a এবং b
  • আরেকটি ভেরিয়েবল ছিল
  • এবং ফাইলটি মডুলার করা হয়েছিল

এরপর আমরা আরেকটি ফাইল তৈরি করলাম file3.js, যেখানে:

  • আবার একটি add ফাংশন থাকবে
  • b ভেরিয়েবলটিও রাখা হবে

এভাবে আমরা file3.js-কেও মডিউল হিসেবে গঠন করলাম।


🧠 Alias ব্যবহার: নাম কনফ্লিক্ট সমাধান

file1.js এ আমরা const এবং destructuring করে কাজ করেছিলাম।

ধরুন, আমরা a ভেরিয়েবলটিকে নতুন নামে নিতে চাই, তখন alias ব্যবহার করা হয়।

উদাহরণ:

const { add: a3 } = require('./file3');

এখানে add ফাংশনকে a3 নামে নিচ্ছি কারণ এটা file3 থেকে আসছে।

🔹 এখন যদি আমরা 2 + 3 করি, ফলাফল হবে 5


🧹 কোড পরিষ্কার ও alias প্রয়োজনীয়তা

  • আমরা dot notation বা destructuring উভয়ভাবেই কোড পরিষ্কার রাখতে পারি।
  • যখন ফাংশন বা ভেরিয়েবলগুলোর নাম একই হয়ে যায়, তখন alias ব্যবহার করতে হয় যাতে কনফ্লিক্ট না হয়।
  • বিশেষ করে third-party packages বা external modules ব্যবহারের সময় alias দরকার হয়।

📦 index.js ফাইলের ভূমিকা

আমরা index.js নামে একটি ফাইল নিচ্ছি।

কিন্তু কেন?

আমাদের মূল main.js ফাইলে যদি একাধিক ফাংশন রিকোয়্যার করতে হয়, তাহলে প্রতিটি utility ফাইল থেকে আলাদাভাবে import করা ঝামেলার — যেমন:

const add = require('./utils/add'); const subtract = require('./utils/subtract');

এর পরিবর্তে আমরা index.js ফাইলে সব ফাংশন একত্রে export করবো:

// utils/index.js const add = require('./add'); const subtract = require('./subtract'); module.exports = { add, subtract };

এখন main.js ফাইল থেকে সহজে রিকোয়্যার করা যাবে:

const { add, subtract } = require('./utils');

⚠️ index.js না থাকলে কী হয়?

যদি কোনো ফোল্ডার রিকোয়্যার করা হয় কিন্তু index.js না থাকে:

const { add } = require('./utils');

তাহলে Node.js error দিবে কারণ সে জানে না কোন ফাইলটা এক্সপোর্ট করবে।

উদাহরণ:

  • index.js → ❌ index1.js নাম দিলে
  • রান করার সময় → ❌ Error

Node.js ফোল্ডার থেকে রিকোয়্যার করার সময় default ভাবে index.js খুঁজে


✅ Smart Modular Pattern

আমরা এখন একটা স্মার্ট কাজ করলাম:

  • index.js ফাইলে সব utility function একত্রে import এবং export করলাম।
  • এখন এক লাইনে সব ফাংশন access করা সম্ভব হলো।
const { add, subtract, multiply } = require('./utils')

✨ সুবিধাসমূহ:

  • ✅ কোড পরিষ্কার হলো
  • ✅ import গুলো সুন্দরভাবে organize হলো
  • ✅ এক লাইনে সব ফাংশন access করা গেল
  • ✅ কোড এখন বেশি maintainable
Last updated on