BabelJS একটি শক্তিশালী JavaScript ট্রান্সপাইলার, যা ES6 এবং তার পরবর্তী সংস্করণের কোডকে পুরনো JavaScript (ES5) কোডে রূপান্তরিত করে। যদি আপনি BabelJS সেটআপ করতে চান, তাহলে আপনার প্রকল্পে এটি ইনস্টল করতে হবে। এখানে আমরা স্টেপ বাই স্টেপ দেখবো কীভাবে BabelJS ইনস্টল এবং কনফিগার করবেন।
1. Node.js ইনস্টল করা
BabelJS ব্যবহার করতে হলে আপনাকে Node.js ইনস্টল করতে হবে, কারণ BabelJS Node.js ভিত্তিক একটি টুল। Node.js ইনস্টল না থাকলে প্রথমে Node.js অফিসিয়াল ওয়েবসাইট থেকে এটি ডাউনলোড এবং ইনস্টল করুন।
2. প্রকল্পে BabelJS ইনস্টল করা
আপনার প্রকল্পে BabelJS ইনস্টল করতে প্রথমে আপনার প্রজেক্ট ফোল্ডারে npm init চালিয়ে package.json ফাইল তৈরি করুন। এর পরে Babel এর প্রয়োজনীয় প্যাকেজগুলো ইনস্টল করুন।
Step-by-step ইনস্টলেশন
প্রথমে প্রকল্পে NPM ইনিশিয়ালাইজ করুন:
টার্মিনালে নিচের কমান্ডটি চালিয়ে প্রকল্পের জন্য
package.jsonতৈরি করুন:npm init -yBabel Core এবং CLI ইনস্টল করুন:
BabelJS কাজ করার জন্য মূল Babel প্যাকেজ এবং CLI (Command Line Interface) ইনস্টল করতে হবে। এটি ইনস্টল করতে টার্মিনালে নিচের কমান্ডটি ব্যবহার করুন:
npm install --save-dev @babel/core @babel/cliBabel Preset (যেমন
@babel/preset-env) ইনস্টল করুন:@babel/preset-envহল একটি প্রিসেট যা ES6+ কোডকে ES5 এ রূপান্তরিত করে। এটি ইনস্টল করতে নিচের কমান্ডটি ব্যবহার করুন:npm install --save-dev @babel/preset-envBabel RC ফাইল তৈরি করুন:
Babel কনফিগারেশন ফাইল হিসাবে
.babelrcবাbabel.config.jsonফাইল ব্যবহার করা হয়। আপনি.babelrcফাইল তৈরি করতে পারেন, যাতে আপনি কোন প্রিসেট এবং প্লাগিন ব্যবহার করবেন তা নির্ধারণ করতে পারবেন।.babelrcফাইলটি তৈরি করতে, প্রকল্পের মূল ডিরেক্টরিতে.babelrcনামে একটি ফাইল তৈরি করুন এবং এর মধ্যে নিচের কনফিগারেশন লিখুন:{ "presets": ["@babel/preset-env"] }এই কনফিগারেশনটি Babel কে বলে যে, ES6+ কোডকে ES5 তে রূপান্তরিত করতে হবে।
3. Babel এর মাধ্যমে কোড ট্রান্সপাইলিং করা
Babel ইনস্টল এবং কনফিগারেশনের পরে, আপনি Babel এর মাধ্যমে আপনার JavaScript কোড ট্রান্সপাইল করতে পারেন। নিচে একটি উদাহরণ দেওয়া হলো:
ফোল্ডারে একটি JavaScript ফাইল তৈরি করুন:
উদাহরণস্বরূপ,
srcনামে একটি ফোল্ডার তৈরি করুন এবং তার মধ্যেindex.jsনামে একটি ফাইল তৈরি করুন। এটির মধ্যে কিছু ES6 কোড লিখুন:const greet = (name) => `Hello, ${name}!`; console.log(greet('World'));Babel CLI দিয়ে ট্রান্সপাইল করুন:
টার্মিনালে নিচের কমান্ডটি ব্যবহার করে আপনার
src/index.jsফাইলটিকেdistফোল্ডারে ES5 কোডে রূপান্তরিত করুন:npx babel src --out-dir distএটি
srcফোল্ডারের সমস্ত কোডকে ট্রান্সপাইল করেdistফোল্ডারে রেখে দেবে।পরীক্ষা করুন:
dist/index.jsফাইলটি খুললে দেখতে পাবেন যে ES6 কোডটি ES5 কোডে রূপান্তরিত হয়ে গিয়েছে। উদাহরণস্বরূপ, আপনারindex.jsফাইলটি এমন কিছু দেখাতে পারে:var greet = function(name) { return "Hello, " + name + "!"; }; console.log(greet('World'));
4. Babel Watcher (অটোমেটিক ট্রান্সপাইলিং)
যদি আপনি আপনার কোডে কোনো পরিবর্তন করেন এবং চাচ্ছেন যে Babel সেই পরিবর্তনটি অটোমেটিক্যালি ট্রান্সপাইল করুক, তাহলে আপনি Babel ওয়াচার ব্যবহার করতে পারেন।
npx babel src --out-dir dist --watch
এটি আপনার src ফোল্ডারে থাকা সব ফাইলের পরিবর্তন ট্র্যাক করবে এবং স্বয়ংক্রিয়ভাবে সেগুলি dist ফোল্ডারে ট্রান্সপাইল করবে।
5. Babel এবং Webpack ব্যবহার করা
যদি আপনি বড় প্রকল্পে কাজ করেন এবং ES6/ES7 কোডসহ একাধিক JavaScript ফাইল পরিচালনা করতে চান, তাহলে আপনাকে Babel কে Webpack এর সাথে ব্যবহার করতে হতে পারে। Webpack এর মাধ্যমে আপনি কোডের মডিউলিং, মিনিফিকেশন, এবং অপটিমাইজেশনও করতে পারবেন। তবে, এটি আরও উন্নত সেটআপ এবং কনফিগারেশন প্রক্রিয়া।
সারাংশ
BabelJS ইনস্টল এবং সেটআপ করা সহজ। প্রথমে Node.js ইনস্টল করে npm ব্যবহার করে Babel এর মূল প্যাকেজ এবং প্রয়োজনীয় প্রিসেট ইনস্টল করতে হয়। তারপর .babelrc কনফিগারেশন ফাইল তৈরি করে আপনার JavaScript কোডকে ট্রান্সপাইল করা সম্ভব। BabelJS আধুনিক JavaScript কোডকে পুরনো সংস্করণে রূপান্তরিত করে, যা পুরনো ব্রাউজার এবং প্ল্যাটফর্মে নির্বিঘ্নে চলতে পারে।
Babel CLI (Command Line Interface) হল একটি টুল যা আপনাকে Babel ব্যবহার করে কোড ট্রান্সপাইল করতে সাহায্য করে, সরাসরি কমান্ড লাইন থেকে। এর মাধ্যমে আপনি আপনার JavaScript কোডকে ES6 থেকে ES5 বা অন্য কোনো সংস্করণে রূপান্তর করতে পারেন।
১. Node.js ইনস্টল করা
Babel CLI ব্যবহার করতে হলে প্রথমে আপনার সিস্টেমে Node.js ইনস্টল থাকতে হবে। যদি Node.js ইনস্টল না থাকে, তবে আপনি Node.js এর অফিসিয়াল সাইট থেকে এটি ডাউনলোড এবং ইনস্টল করতে পারেন।
২. প্রকল্পে Babel CLI ইনস্টল করা
Babel CLI ইনস্টল করার জন্য প্রথমে আপনার প্রকল্পে npm init চালিয়ে package.json ফাইল তৈরি করুন। তারপরে Babel এর প্রয়োজনীয় প্যাকেজগুলো ইনস্টল করুন।
Step-by-step ইনস্টলেশন:
প্রথমে প্রকল্প ফোল্ডারে NPM ইনিশিয়ালাইজ করুন:
যদি আপনার প্রকল্পে এখনও
package.jsonফাইল না থাকে, তাহলে নিচের কমান্ডটি চালিয়েpackage.jsonতৈরি করুন:npm init -yBabel CLI ইনস্টল করুন:
Babel CLI ইনস্টল করতে নিচের কমান্ডটি চালান:
npm install --save-dev @babel/cliএই কমান্ডটি Babel CLI কে আপনার প্রকল্পের ডেভেলপমেন্ট ডিপেনডেন্সি হিসেবে ইনস্টল করবে।
Babel Core এবং Presets ইনস্টল করুন:
Babel CLI এর সাথে কাজ করতে হলে আপনাকে
@babel/coreএবং@babel/preset-envপ্রিসেটও ইনস্টল করতে হবে। এই প্রিসেট ES6 এবং তার পরবর্তী সংস্করণের কোডকে ES5 কোডে রূপান্তর করে।এটি ইনস্টল করতে নিচের কমান্ডটি ব্যবহার করুন:
npm install --save-dev @babel/core @babel/preset-env
৩. Babel কনফিগারেশন ফাইল তৈরি করা
Babel CLI এর মাধ্যমে কোড ট্রান্সপাইল করার জন্য আপনাকে .babelrc বা babel.config.json নামক একটি কনফিগারেশন ফাইল তৈরি করতে হবে। এই ফাইলে আপনি কোন প্রিসেট ব্যবহার করবেন তা নির্ধারণ করতে পারবেন।
.babelrc ফাইল তৈরি করুন:
আপনার প্রকল্পের মূল ডিরেক্টরিতে .babelrc নামে একটি ফাইল তৈরি করুন এবং এর মধ্যে নিচের কনফিগারেশন যুক্ত করুন:
{
"presets": ["@babel/preset-env"]
}
এটি Babel কে বলে যে, ES6+ কোডকে ES5 তে রূপান্তরিত করতে হবে।
৪. Babel CLI দিয়ে কোড ট্রান্সপাইল করা
Babel CLI ইনস্টল এবং কনফিগারেশনের পর, আপনি আপনার JavaScript কোডকে ট্রান্সপাইল করতে পারেন।
ফোল্ডারে একটি JavaScript ফাইল তৈরি করুন:
উদাহরণস্বরূপ,
srcনামক একটি ফোল্ডার তৈরি করুন এবং তার মধ্যেindex.jsনামে একটি ফাইল তৈরি করুন। এতে কিছু ES6 কোড লিখুন:const greet = (name) => `Hello, ${name}!`; console.log(greet('World'));Babel CLI দিয়ে ট্রান্সপাইল করুন:
এবার, টার্মিনালে নিচের কমান্ডটি ব্যবহার করুন:
npx babel src --out-dir distএখানে,
srcফোল্ডারের সমস্ত JavaScript ফাইলকেdistফোল্ডারে ES5 কোডে রূপান্তরিত করা হবে।পরীক্ষা করুন:
dist/index.jsফাইলটি খুললে আপনি দেখতে পাবেন যে ES6 কোডটি ES5 কোডে রূপান্তরিত হয়ে গিয়েছে:var greet = function(name) { return "Hello, " + name + "!"; }; console.log(greet('World'));
৫. Babel Watcher (অটোমেটিক ট্রান্সপাইলিং)
আপনি চাইলে Babel CLI এর মাধ্যমে অটোমেটিক ট্রান্সপাইলিং সেটআপ করতে পারেন। এর জন্য --watch ফ্ল্যাগ ব্যবহার করা হয়, যা কোডের পরিবর্তনগুলো ট্র্যাক করে স্বয়ংক্রিয়ভাবে রূপান্তর করে।
npx babel src --out-dir dist --watch
এটি src ফোল্ডারে থাকা সব ফাইলের পরিবর্তনকে মনিটর করবে এবং যেকোনো পরিবর্তনের পর সেই ফাইলটি আবার dist ফোল্ডারে ট্রান্সপাইল করবে।
সারাংশ
Babel CLI ইনস্টল এবং সেটআপ করা সহজ। প্রথমে Node.js ইনস্টল করে npm দিয়ে Babel এর প্রয়োজনীয় প্যাকেজগুলো ইনস্টল করুন। এরপর .babelrc কনফিগারেশন ফাইল তৈরি করে, Babel CLI দিয়ে আপনার JavaScript কোড ট্রান্সপাইল করতে পারবেন। Babel CLI আপনাকে নতুন JavaScript ফিচারগুলো ব্যবহার করতে দেয়, তবে সেই কোডটি পুরনো ব্রাউজারেও নির্বিঘ্নে চলতে পারে।
Babel দিয়ে একটি প্রাথমিক প্রজেক্ট কনফিগার করতে, আপনাকে কয়েকটি ধাপে চলতে হবে। এখানে আমরা একটি সাধারন ES6 থেকে ES5 ট্রান্সপাইলার প্রজেক্ট কনফিগারেশন তৈরি করব, যাতে আপনি সহজেই আধুনিক JavaScript ফিচার ব্যবহার করতে পারেন, এবং সেই কোডটি পুরনো ব্রাউজারেও সঠিকভাবে কাজ করবে।
১. Node.js ইনস্টল করা
প্রথমে নিশ্চিত হয়ে নিন যে আপনার সিস্টেমে Node.js ইনস্টল আছে। যদি এটি ইনস্টল না থাকে, তবে আপনি Node.js অফিসিয়াল সাইট থেকে এটি ডাউনলোড করে ইনস্টল করতে পারেন।
২. প্রকল্প ফোল্ডার তৈরি করুন
আপনার প্রজেক্টের জন্য একটি নতুন ফোল্ডার তৈরি করুন এবং সেখানে কাজ শুরু করুন।
mkdir babel-project
cd babel-project
৩. npm প্রজেক্ট ইনিশিয়ালাইজ করুন
npm init কমান্ডটি দিয়ে আপনার প্রকল্পে package.json ফাইল তৈরি করুন:
npm init -y
এটি একটি ডিফল্ট package.json ফাইল তৈরি করবে, যা আপনার প্রজেক্টের কনফিগারেশন ধারণ করবে।
৪. Babel প্যাকেজ ইনস্টল করা
এখন, Babel এর প্রয়োজনীয় প্যাকেজগুলি ইনস্টল করুন। আমাদের কমপক্ষে দুটি প্যাকেজ ইনস্টল করতে হবে:
- @babel/core: Babel এর মূল কোড।
- @babel/cli: কমান্ড লাইন ইন্টারফেস যা Babel কে টার্মিনাল থেকে চালানোর অনুমতি দেয়।
- @babel/preset-env: ES6 এবং তার পরবর্তী সংস্করণের কোডকে ES5 তে রূপান্তর করতে ব্যবহৃত প্রিসেট।
নিচের কমান্ডটি চালিয়ে প্যাকেজগুলো ইনস্টল করুন:
npm install --save-dev @babel/core @babel/cli @babel/preset-env
৫. Babel কনফিগারেশন ফাইল তৈরি করা
Babel এর কনফিগারেশন ফাইল তৈরি করুন যাতে আপনি নির্দেশ দিতে পারেন যে, কোন প্রিসেট এবং প্লাগিন ব্যবহৃত হবে।
.babelrc ফাইল তৈরি করুন:
প্রকল্পের মূল ডিরেক্টরিতে .babelrc নামক একটি ফাইল তৈরি করুন এবং এটি এরকম কনফিগারেশন লিখুন:
{
"presets": ["@babel/preset-env"]
}
এটি Babel কে বলে যে, ES6 এবং পরবর্তী কোডকে ES5 তে রূপান্তর করতে হবে, যা পুরনো ব্রাউজারে সমর্থিত।
৬. কোড ফোল্ডার তৈরি করুন
কিছু কোড লিখুন যা আপনি ট্রান্সপাইল করতে চান। উদাহরণস্বরূপ, src নামে একটি ফোল্ডার তৈরি করুন এবং তাতে index.js ফাইল তৈরি করুন।
mkdir src
touch src/index.js
index.js ফাইলের মধ্যে কিছু ES6 কোড লিখুন:
// src/index.js
const greet = (name) => `Hello, ${name}!`;
console.log(greet('World'));
৭. Babel CLI দিয়ে কোড ট্রান্সপাইল করা
Babel CLI দিয়ে আপনার কোডকে ES5 তে ট্রান্সপাইল করতে এখন প্রস্তুত। npx ব্যবহার করে src ফোল্ডারের কোডটিকে dist ফোল্ডারে রূপান্তরিত করুন:
npx babel src --out-dir dist
এটি src/index.js ফাইলটিকে ট্রান্সপাইল করে dist ফোল্ডারে রাখবে।
৮. ট্রান্সপাইল করা কোড পরীক্ষা করা
dist/index.js ফাইলটি খুললে দেখতে পাবেন যে ES6 কোডটি ES5 কোডে রূপান্তরিত হয়ে গিয়েছে:
// dist/index.js
var greet = function(name) {
return "Hello, " + name + "!";
};
console.log(greet('World'));
৯. অটোমেটিক ট্রান্সপাইলিং (Optional)
যদি আপনি আপনার কোডে কোনো পরিবর্তন করলে অটোমেটিকভাবে ট্রান্সপাইল হতে চান, তাহলে --watch ফ্ল্যাগ ব্যবহার করতে পারেন:
npx babel src --out-dir dist --watch
এটি src ফোল্ডারে সব ফাইলের পরিবর্তন ট্র্যাক করবে এবং যখনই কোনো পরিবর্তন হবে, তখনই সেগুলি dist ফোল্ডারে ট্রান্সপাইল করবে।
১০. আপনার প্রজেক্টের ডিরেক্টরি কাঠামো
আপনার প্রজেক্টের ফোল্ডার স্ট্রাকচার কিছুটা এই রকম হতে পারে:
babel-project/
├── node_modules/
├── src/
│ └── index.js
├── dist/
├── .babelrc
├── package.json
└── package-lock.json
সারাংশ
এটি ছিল Babel এর জন্য একটি প্রাথমিক প্রজেক্ট কনফিগারেশন। প্রথমে Node.js ইনস্টল করে প্রকল্প সেটআপ শুরু করুন, তারপরে Babel এর মূল প্যাকেজ এবং প্রিসেট ইনস্টল করুন। .babelrc ফাইল তৈরি করে কনফিগারেশন সেট করুন, এবং তারপর Babel CLI দিয়ে আপনার ES6 কোডকে ES5 কোডে ট্রান্সপাইল করুন। এই প্রক্রিয়ার মাধ্যমে আপনি আধুনিক JavaScript ফিচার ব্যবহার করতে পারবেন, এবং সেই কোডটি পুরনো ব্রাউজারেও নির্বিঘ্নে চলবে।
ES মডিউল (ECMAScript Modules) হল JavaScript-এ মডিউলিং সিস্টেমের একটি নতুন পদ্ধতি, যা ES6 (ECMAScript 2015) সংস্করণে পরিচিত করা হয়। এটি JavaScript কোডের পুনঃব্যবহারযোগ্য এবং সুসংগঠিত টুকরো তৈরি করতে সাহায্য করে, যেখানে কোডকে একাধিক ফাইল বা মডিউলে বিভক্ত করা যায় এবং নির্দিষ্ট ফাংশন, ভ্যারিয়েবল বা অবজেক্ট এক মডিউল থেকে অন্য মডিউলে আমদানি করা (import) এবং রপ্তানি (export) করা সম্ভব।
BabelJS হচ্ছে একটি জনপ্রিয় ট্রান্সপাইলার, যা ES6 বা তার পরবর্তী ফিচারগুলোকে ES5-এ রূপান্তরিত করে, যাতে পুরনো ব্রাউজারে সেগুলো কাজ করতে পারে। ES মডিউলগুলোকে সঠিকভাবে ট্রান্সপাইল করতে এবং সমর্থন করতে BabelJS ব্যবহার করা হয়।
ES মডিউল কী?
ES মডিউল হল JavaScript কোডের ভাগ করা এবং পুনঃব্যবহারের জন্য একটি গঠনমূলক ব্যবস্থা, যা কোডকে import এবং export এর মাধ্যমে সংগঠিত করতে সাহায্য করে।
ES মডিউল এর সিম্পল উদাহরণ
1. Export (রপ্তানি):
একটি ফাইল থেকে ডেটা বা ফাংশন রপ্তানি করতে export কিওয়ার্ড ব্যবহার করা হয়:
// file1.js
export const greet = (name) => `Hello, ${name}!`;
2. Import (আমদানি):
অন্য একটি ফাইল থেকে রপ্তানি করা ডেটা বা ফাংশন আমদানি করতে import কিওয়ার্ড ব্যবহার করা হয়:
// file2.js
import { greet } from './file1';
console.log(greet('World'));
BabelJS এবং ES মডিউল
BabelJS ES মডিউল সমর্থন করার জন্য কিছু কনফিগারেশন এবং প্রিসেটের প্রয়োজন হতে পারে। যদিও আধুনিক ব্রাউজারগুলো ES মডিউলকে সমর্থন করে, কিন্তু কিছু পুরনো ব্রাউজার, যেমন Internet Explorer, ES6 মডিউল সমর্থন করে না। এজন্য, যদি আপনি পুরনো ব্রাউজারেও কোড রান করতে চান, তবে BabelJS দিয়ে ES মডিউলকে কম্পাইল করতে হবে।
Babel এর মাধ্যমে ES মডিউলকে CommonJS বা IIFE (Immediately Invoked Function Expression) এ রূপান্তর করা সম্ভব, যা পুরনো ব্রাউজারে সঠিকভাবে কাজ করে।
BabelJS দিয়ে ES মডিউল ট্রান্সপাইল করা
যেহেতু ES মডিউলগুলি আধুনিক JavaScript-এ ব্যবহৃত হয়, এবং পুরনো JavaScript কোডে (যেমন, ES5) মডিউল সিস্টেম নেই, তাই BabelJS ব্যবহার করে ES মডিউলকে পুরনো সিস্টেমে রূপান্তর করা হয়। এই রূপান্তরের জন্য আপনাকে কয়েকটি কনফিগারেশন সেট করতে হবে।
Babel কনফিগারেশন:
Babel ব্যবহার করে ES মডিউলকে পুরনো ব্রাউজারে কাজ করার জন্য @babel/preset-env এবং @babel/plugin-transform-modules-commonjs ব্যবহার করা হয়। সাধারণভাবে, আপনাকে একটি babel.config.json ফাইল তৈরি করতে হবে।
Babel কনফিগারেশন উদাহরণ:
{
"presets": [
["@babel/preset-env", {
"modules": "commonjs"
}]
]
}
এখানে, modules: "commonjs" এর মানে হল যে, Babel ES মডিউল কোডকে CommonJS মডিউল সিস্টেমে রূপান্তর করবে, যা Node.js বা পুরনো ব্রাউজারগুলোর জন্য উপযুক্ত।
ES মডিউল এবং Babel এর মধ্যে সম্পর্ক
BabelJS এবং ES মডিউলের সম্পর্ক মূলত কোড ট্রান্সপাইলিংয়ের মাধ্যমে তৈরি হয়। এখানে কীভাবে Babel এবং ES মডিউল একে অপরের সাথে কাজ করে, তার বিস্তারিত ব্যাখ্যা দেওয়া হল:
- ES মডিউল ব্যবহার করার সুবিধা: ES মডিউল সমর্থন করার ফলে, আপনি JavaScript কোডকে ছোট ছোট অংশে ভাগ করে পুনঃব্যবহারযোগ্য কোড তৈরি করতে পারেন, যা কোডের পরিস্কারতা এবং কার্যকারিতা বৃদ্ধি করে।
- Babel এর ভূমিকা: যেহেতু ES মডিউল শুধুমাত্র আধুনিক ব্রাউজার এবং পরিবেশে কাজ করে, BabelJS কোডটিকে ট্রান্সপাইল করে পুরনো ব্রাউজারে এবং পরিবেশে এটি কাজ করানোর জন্য রূপান্তর করে। Babel পুরনো JavaScript কোডে ES মডিউল রূপান্তরিত করে, যা পুরনো ব্রাউজারে
CommonJSবা অন্য কোনো সিস্টেমে রান করা যায়। - Babel এবং ES মডিউল ট্রান্সপাইলিং: BabelJS ES মডিউল সমর্থন করে এবং কোডটিকে যথাযথভাবে রূপান্তরিত করতে ব্যবহৃত হয়। তবে, কিছু ক্ষেত্রে যেমন React, TypeScript বা ES6 কোডের জন্য মডিউল সিস্টেম প্রয়োগ করার জন্য Babel এর কনফিগারেশন প্রয়োজন।
সারাংশ
BabelJS এবং ES মডিউল একে অপরের সাথে নিবিড়ভাবে কাজ করে। ES মডিউল JavaScript কোডকে মডিউল ভিত্তিক, পুনঃব্যবহারযোগ্য এবং সংগঠিত করে তোলে, যা কোডের উন্নয়ন এবং রক্ষণাবেক্ষণ সহজ করে। তবে, পুরনো ব্রাউজার বা পরিবেশে এই মডিউলগুলিকে সঠিকভাবে কাজ করানোর জন্য BabelJS ব্যবহৃত হয়। Babel ES6 মডিউলকে পুরনো ব্রাউজারগুলোর জন্য CommonJS বা অন্য মডিউল সিস্টেমে রূপান্তরিত করে, যা সর্বজনীন সমর্থন নিশ্চিত করে।
BabelJS একটি শক্তিশালী ট্রান্সপাইলার যা JavaScript কোডকে আধুনিক ES6 বা পরবর্তী সংস্করণ থেকে পুরনো ES5 সংস্করণে রূপান্তর করে, যাতে এটি পুরনো ব্রাউজার এবং প্ল্যাটফর্মে নির্বিঘ্নে চলতে পারে। BabelJS ব্যবহার করতে হলে প্রথমে Node.js ইনস্টল করা আবশ্যক, কারণ BabelJS Node.js ভিত্তিক একটি টুল।
নিচে দেওয়া হল BabelJS এর ইনস্টলেশন প্রক্রিয়া, যা Node.js এর সঙ্গে ব্যবহৃত হবে।
১. Node.js ইনস্টল করা
BabelJS ব্যবহার করতে হলে আপনার সিস্টেমে Node.js ইনস্টল থাকতে হবে। আপনি Node.js এর অফিসিয়াল ওয়েবসাইট থেকে এটি ডাউনলোড করে ইনস্টল করতে পারেন:
Node.js ইনস্টল করার পর, আপনি টার্মিনালে নিচের কমান্ড দিয়ে ইনস্টলেশন চেক করতে পারেন:
node -v
npm -v
এটি Node.js এবং npm (Node Package Manager)-এর সংস্করণ দেখাবে, যা নিশ্চিত করবে যে আপনি সফলভাবে Node.js ইনস্টল করেছেন।
২. প্রকল্প তৈরি করা
BabelJS সেটআপ করতে প্রথমে একটি নতুন প্রজেক্ট তৈরি করুন, অথবা একটি বিদ্যমান প্রজেক্টে BabelJS যোগ করুন।
প্রথমে, একটি নতুন ফোল্ডার তৈরি করুন:
mkdir babel-project
cd babel-project
এটি আপনার প্রজেক্টের ফোল্ডার তৈরি করবে এবং সেখানে যাবে।
৩. npm প্রজেক্ট ইনিশিয়ালাইজ করা
npm init কমান্ড দিয়ে package.json ফাইল তৈরি করুন। এটি আপনার প্রজেক্টের ডিপেনডেন্সি এবং কনফিগারেশন ধারণ করবে।
npm init -y
এই কমান্ডটি package.json ফাইল তৈরি করবে।
৪. Babel এর প্যাকেজ ইনস্টল করা
BabelJS এর মূল প্যাকেজগুলি ইনস্টল করতে npm install কমান্ড ব্যবহার করা হয়। কমপক্ষে তিনটি প্যাকেজ ইনস্টল করতে হবে:
- @babel/core: Babel এর মূল কোর।
- @babel/cli: Babel এর CLI (Command Line Interface) টুল।
- @babel/preset-env: আধুনিক JavaScript কোডকে ES5 এ রূপান্তরিত করতে ব্যবহৃত প্রিসেট।
এগুলো ইনস্টল করতে, নিচের কমান্ডটি ব্যবহার করুন:
npm install --save-dev @babel/core @babel/cli @babel/preset-env
এই কমান্ডটি তিনটি প্যাকেজ ইনস্টল করবে, যা আপনার প্রজেক্টের ডেভেলপমেন্ট ডিপেনডেন্সি হিসেবে যুক্ত হবে।
৫. Babel কনফিগারেশন ফাইল তৈরি করা
Babel এর কনফিগারেশন ফাইল হিসাবে .babelrc বা babel.config.json ফাইল ব্যবহার করা হয়। এখানে .babelrc ফাইলের উদাহরণ দেওয়া হলো, যা আপনার ES6 কোডকে ES5 তে রূপান্তর করবে।
.babelrc ফাইলটি প্রকল্পের মূল ডিরেক্টরিতে তৈরি করুন এবং এর মধ্যে নিচের কনফিগারেশন যুক্ত করুন:
{
"presets": ["@babel/preset-env"]
}
এটি Babel কে বলে যে, ES6 এবং পরবর্তী সংস্করণের কোডকে ES5 তে রূপান্তরিত করতে হবে।
৬. কোড ফাইল তৈরি করা
এখন কিছু JavaScript কোড লিখুন যা আপনি ট্রান্সপাইল করতে চান। উদাহরণস্বরূপ, src নামক একটি ফোল্ডার তৈরি করুন এবং তাতে index.js ফাইল তৈরি করুন।
mkdir src
touch src/index.js
index.js ফাইলের মধ্যে কিছু ES6 কোড লিখুন:
// src/index.js
const greet = (name) => `Hello, ${name}!`;
console.log(greet('World'));
৭. Babel CLI দিয়ে কোড ট্রান্সপাইল করা
Babel CLI ব্যবহার করে আপনার কোড ES5 তে ট্রান্সপাইল করতে npx ব্যবহার করুন:
npx babel src --out-dir dist
এটি src ফোল্ডারের কোডটিকে dist ফোল্ডারে ট্রান্সপাইল করে রাখবে। আপনি যদি index.js ফাইলটি dist ফোল্ডারে খুলে দেখেন, তাহলে আপনি ES5 কোড দেখতে পাবেন:
// dist/index.js
var greet = function(name) {
return "Hello, " + name + "!";
};
console.log(greet('World'));
৮. অটোমেটিক ট্রান্সপাইলিং (Optional)
যদি আপনি কোডে কোনো পরিবর্তন করলে অটোমেটিকভাবে ট্রান্সপাইল করতে চান, তাহলে Babel এর --watch ফ্ল্যাগ ব্যবহার করতে পারেন:
npx babel src --out-dir dist --watch
এটি src ফোল্ডারে থাকা ফাইলগুলোর পরিবর্তন ট্র্যাক করবে এবং পরিবর্তন হলে সেগুলি স্বয়ংক্রিয়ভাবে dist ফোল্ডারে ট্রান্সপাইল করবে।
সারাংশ
BabelJS ইনস্টল এবং সেটআপ করার জন্য প্রথমে Node.js ইনস্টল করতে হবে। তারপর npm init কমান্ড দিয়ে প্রজেক্ট শুরু করে, Babel এর মূল প্যাকেজগুলি ইনস্টল করতে হবে। .babelrc কনফিগারেশন ফাইল তৈরি করে, Babel CLI ব্যবহার করে ES6 কোডকে ES5 তে রূপান্তর করা সম্ভব। এই প্রক্রিয়া আপনাকে আধুনিক JavaScript কোড ব্যবহার করার সুযোগ দেয়, অথচ কোডটি পুরনো ব্রাউজারেও নির্বিঘ্নে চলতে পারে।
Read more