CoffeeScript, JavaScript-এর মতো মডিউল সিস্টেম ব্যবহার করে যা exports এবং require এর মাধ্যমে কোড পুনরায় ব্যবহারযোগ্য করে তোলে। CoffeeScript-এ, আপনি named exports এবং default exports ব্যবহার করে কোড মডুলারাইজ করতে পারেন এবং বিভিন্ন ফাইলের মধ্যে তথ্য শেয়ার করতে পারেন।
Named Exports (নামকৃত এক্সপোর্ট)
Named Exports ব্যবহার করে আপনি একটি ফাইলের একাধিক ভেরিয়েবল, ফাংশন বা ক্লাস এক্সপোর্ট করতে পারেন। এতে প্রতিটি এক্সপোর্টের নাম থাকে, যা অন্য কোনো ফাইলে require করার সময় ব্যবহার করা হয়।
উদাহরণ: Named Exports
math.coffee নামক একটি ফাইলে কয়েকটি ফাংশন তৈরি করা হলো:
add = (a, b) -> a + b
subtract = (a, b) -> a - b
multiply = (a, b) -> a * b
module.exports = { add, subtract, multiply }
এখানে, আমরা add, subtract, এবং multiply ফাংশনগুলো named exports হিসেবে এক্সপোর্ট করেছি। এখন, এই ফাংশনগুলো অন্য কোনো CoffeeScript বা JavaScript ফাইলে ব্যবহার করা যাবে।
অন্য ফাইলে ব্যবহৃত Named Exports
app.coffee ফাইলে math.coffee এর এক্সপোর্ট করা ফাংশনগুলো ব্যবহার করা:
{ add, subtract } = require './math'
console.log add(2, 3) # 5
console.log subtract(5, 3) # 2
এখানে { add, subtract } ব্যবহার করে math.coffee থেকে named exports ডিস্ট্রিবিউট করা হয়েছে। আপনি শুধু যেগুলো প্রয়োজন, সেগুলোই ইনপোর্ট করতে পারেন।
Default Exports (ডিফল্ট এক্সপোর্ট)
Default Exports ব্যবহার করে আপনি একটি ফাইলের একটি একক মান বা ফাংশন এক্সপোর্ট করতে পারেন। এটি সাধারণত কোনো একক ভেরিয়েবল, ফাংশন বা ক্লাসের জন্য ব্যবহৃত হয়।
উদাহরণ: Default Export
math.coffee নামক ফাইলে একটি একক ফাংশন ডিফল্ট এক্সপোর্ট করা হলো:
add = (a, b) -> a + b
module.exports = add
এখানে, add ফাংশনটি default export হিসেবে এক্সপোর্ট করা হয়েছে।
অন্য ফাইলে ব্যবহৃত Default Export
app.coffee ফাইলে math.coffee থেকে ডিফল্ট এক্সপোর্ট করা ফাংশন ব্যবহার করা:
add = require './math'
console.log add(2, 3) # 5
এখানে, add = require './math' কোডের মাধ্যমে math.coffee থেকে ডিফল্ট এক্সপোর্ট করা ফাংশনটি ইনপোর্ট করা হয়েছে।
Named Export এবং Default Export একসাথে ব্যবহার করা
আপনি একেই ফাইলে named exports এবং default exports উভয়ই ব্যবহার করতে পারেন। এটি একটি নির্দিষ্ট ফাংশন বা মানের জন্য ডিফল্ট এক্সপোর্ট এবং অন্যান্য বিভিন্ন ফাংশন বা ভেরিয়েবলের জন্য নামকৃত এক্সপোর্ট সরবরাহ করে।
উদাহরণ: Named এবং Default Export একসাথে
math.coffee ফাইলে একসাথে named এবং default এক্সপোর্ট করা:
add = (a, b) -> a + b
subtract = (a, b) -> a - b
multiply = (a, b) -> a * b
module.exports = add # Default export
module.exports.subtract = subtract # Named export
module.exports.multiply = multiply # Named export
অন্য ফাইলে ব্যবহৃত Named এবং Default Exports
app.coffee ফাইলে উভয় ধরনের এক্সপোর্ট ব্যবহার:
add = require './math'
{ subtract, multiply } = require './math'
console.log add(2, 3) # 5
console.log subtract(5, 3) # 2
console.log multiply(2, 3) # 6
এখানে, add ডিফল্ট এক্সপোর্ট হিসেবে ইনপোর্ট করা হয়েছে এবং subtract, multiply নামকৃত এক্সপোর্ট হিসেবে ইনপোর্ট করা হয়েছে।
সারাংশ
- Named Exports: একাধিক ভেরিয়েবল বা ফাংশন এক্সপোর্ট করতে ব্যবহৃত হয়। একে সাধারণত
{}ব্যবহার করে ইনপোর্ট করা হয়। - Default Exports: একটি একক মান বা ফাংশন এক্সপোর্ট করতে ব্যবহৃত হয়। একে সরাসরি ইনপোর্ট করা হয়।
- Mixed Exports: একই ফাইলে named এবং default এক্সপোর্ট একসাথে ব্যবহার করা যেতে পারে।
CoffeeScript-এ মডিউল সিস্টেম ব্যবহার করার মাধ্যমে কোডের পুনঃব্যবহারযোগ্যতা, রক্ষণাবেক্ষণ এবং পাঠযোগ্যতা বৃদ্ধি করা সম্ভব।
Read more