CoffeeScript, JavaScript এর মতোই মডিউল ব্যবস্থাপনা সমর্থন করে। CoffeeScript-এ মডিউল ইম্পোর্ট এবং এক্সপোর্ট করার জন্য Node.js এর require এবং module.exports পদ্ধতি ব্যবহার করা হয়। এখানে CoffeeScript-এ মডিউল ইম্পোর্ট এবং এক্সপোর্ট করার পদ্ধতি বিস্তারিতভাবে আলোচনা করা হলো।
১. এক্সপোর্ট (Exporting) করা
CoffeeScript-এ মডিউল এক্সপোর্ট করতে module.exports ব্যবহার করা হয়। এটি একটি মডিউল থেকে ফাংশন, অবজেক্ট বা ভেরিয়েবল অন্য মডিউলে পাঠানোর জন্য ব্যবহৃত হয়।
উদাহরণ: একটি ফাংশন এক্সপোর্ট করা
# math.coffee
add = (a, b) -> a + b
module.exports.add = add
এখানে, add ফাংশনটি module.exports.add ব্যবহার করে এক্সপোর্ট করা হয়েছে।
উদাহরণ: একটি অবজেক্ট এক্সপোর্ট করা
# person.coffee
person =
name: "Alice"
age: 25
module.exports = person
এখানে, person অবজেক্টটি সরাসরি module.exports ব্যবহার করে এক্সপোর্ট করা হয়েছে।
JavaScript-এ কম্পাইল হওয়া:
// math.js
var add;
add = function(a, b) {
return a + b;
};
module.exports.add = add;
// person.js
var person;
person = {
name: "Alice",
age: 25
};
module.exports = person;
২. ইম্পোর্ট (Importing) করা
CoffeeScript-এ মডিউল ইম্পোর্ট করতে require ব্যবহার করা হয়। require মডিউল থেকে এক্সপোর্ট করা ফাংশন বা অবজেক্ট অ্যাক্সেস করতে ব্যবহৃত হয়।
উদাহরণ: মডিউল ইম্পোর্ট করা
# app.coffee
math = require './math'
console.log math.add(5, 10)
person = require './person'
console.log person.name
এখানে, math এবং person মডিউলগুলো require ব্যবহার করে ইম্পোর্ট করা হয়েছে এবং তারপরে যথাক্রমে add ফাংশন এবং name প্রপার্টি অ্যাক্সেস করা হয়েছে।
JavaScript-এ কম্পাইল হওয়া:
// app.js
var math, person;
math = require('./math');
console.log(math.add(5, 10));
person = require('./person');
console.log(person.name);
৩. মডিউল এক্সপোর্টের বিভিন্ন পদ্ধতি
১. একটি ফাংশন এক্সপোর্ট করা
# greet.coffee
greet = (name) -> "Hello, #{name}!"
module.exports = greet
এখানে, greet ফাংশনটি মডিউল হিসেবে এক্সপোর্ট করা হয়েছে।
২. একাধিক ফাংশন এক্সপোর্ট করা
# math.coffee
add = (a, b) -> a + b
subtract = (a, b) -> a - b
module.exports =
add: add
subtract: subtract
এখানে, add এবং subtract দুটি ফাংশন একসঙ্গে এক্সপোর্ট করা হয়েছে।
৩. অবজেক্ট বা ক্লাস এক্সপোর্ট করা
# person.coffee
Person = class
constructor: (@name, @age) ->
module.exports = Person
এখানে, একটি ক্লাস Person এক্সপোর্ট করা হয়েছে, যা পরে অন্য মডিউলে ইম্পোর্ট করা যাবে।
৪. ES6 মডিউল সিস্টেম (import/export)
যদি আপনি ES6 মডিউল সিস্টেম ব্যবহার করতে চান, তবে CoffeeScript 2.x থেকে ES6 মডিউল সিস্টেমও সমর্থিত। এ ক্ষেত্রে import এবং export কিওয়ার্ড ব্যবহার করা হয়।
উদাহরণ: ES6 মডিউল সিস্টেম ব্যবহার করে এক্সপোর্ট এবং ইম্পোর্ট করা
এক্সপোর্ট:
# greet.coffee
export greet = (name) -> "Hello, #{name}!"
ইম্পোর্ট:
# app.coffee
import { greet } from './greet'
console.log greet('Alice')
JavaScript-এ কম্পাইল হওয়া:
// greet.js
export const greet = function(name) {
return "Hello, " + name + "!";
};
// app.js
import { greet } from './greet';
console.log(greet('Alice'));
সারাংশ
- এক্সপোর্ট: CoffeeScript-এ
module.exportsব্যবহার করে আপনি ফাংশন, অবজেক্ট বা ক্লাস এক্সপোর্ট করতে পারেন। - ইম্পোর্ট:
requireব্যবহার করে অন্য মডিউল থেকে এক্সপোর্ট করা ফাংশন বা অবজেক্ট ইম্পোর্ট করা হয়। - ES6 মডিউল সিস্টেম: CoffeeScript 2.x থেকে ES6 মডিউল সিস্টেম সমর্থিত, যেখানে
importএবংexportকিওয়ার্ড ব্যবহার করা হয়।
CoffeeScript-এ মডিউল ব্যবস্থাপনা আপনাকে কোড পুনর্ব্যবহারযোগ্য এবং কাঠামোগতভাবে আরও পরিষ্কার করে তোলে।