TypeScript মডিউল রেজলিউশন এবং টার্গেট সেটিংস

TypeScript Compiler Options - টাইপস্ক্রিপ্ট (Typescript) - Web Development

291

TypeScript-এ মডিউল রেজলিউশন এবং টার্গেট সেটিংস কনফিগারেশন খুবই গুরুত্বপূর্ণ। এগুলি TypeScript কম্পাইলারকে জানান দেয় কিভাবে মডিউল এবং কোড ট্রান্সপাইল করতে হবে, এবং কোন JavaScript ভার্সনে কম্পাইল করা উচিত। এই সেটিংসগুলো tsconfig.json ফাইলে কনফিগার করা হয়।


১. মডিউল রেজলিউশন (Module Resolution)

মডিউল রেজলিউশন হচ্ছে TypeScript কম্পাইলারের প্রক্রিয়া যার মাধ্যমে এটি নির্ধারণ করে কোন ফাইল বা মডিউলটি ইম্পোর্ট করতে হবে। TypeScript দুটি মডিউল রেজলিউশন স্ট্র্যাটেজি সমর্থন করে:

  • Classic (পুরানো, Node.js ভিত্তিক নয়)
  • Node (Node.js ভিত্তিক, বর্তমানে ডিফল্ট)

মডিউল রেজলিউশন এর মূল উদ্দেশ্য হল, TypeScript কোডে ইম্পোর্ট করা মডিউল বা ফাইলের অবস্থান সঠিকভাবে চিহ্নিত করা।

মডিউল রেজলিউশন স্ট্র্যাটেজি নির্ধারণ

tsconfig.json ফাইলে moduleResolution অপশন ব্যবহার করে আপনি মডিউল রেজলিউশন স্ট্র্যাটেজি সেট করতে পারেন। সাধারণভাবে, Node মডিউল রেজলিউশন ব্যবহৃত হয়।

{
  "compilerOptions": {
    "moduleResolution": "node"
  }
}

Node মডিউল রেজলিউশন স্ট্র্যাটেজি সাধারণভাবে Node.js এবং NPM প্যাকেজ ম্যানেজমেন্ট ব্যবহারকারী প্রজেক্টগুলির জন্য উপযুক্ত। এটি Node.js-এর মডিউল রেজলিউশন কৌশল অনুসরণ করে, যেখানে node_modules ফোল্ডারের মধ্যে মডিউল খোঁজা হয়।


২. টার্গেট সেটিংস (Target Settings)

টার্গেট সেটিংস নির্ধারণ করে TypeScript কম্পাইলার কোন JavaScript ভার্সনে কোড কম্পাইল করবে। TypeScript আধুনিক JavaScript (ES6, ESNext) থেকে পুরোনো JavaScript (ES5, ES3) এ কোড ট্রান্সপাইল করার ক্ষমতা রাখে।

tsconfig.json ফাইলে target অপশন ব্যবহার করে আপনি JavaScript-এর লক্ষ্য ভার্সন চিহ্নিত করতে পারেন। সাধারণভাবে, ES5 অথবা ES6 (ES2015) ব্যবহার করা হয়।

টার্গেট সেটিংস উদাহরণ

{
  "compilerOptions": {
    "target": "ES6"
  }
}

এই কনফিগারেশন TypeScript কোডটিকে ES6 (ECMAScript 2015) এ কম্পাইল করবে। আপনি বিভিন্ন লক্ষ্য ভার্সন চিহ্নিত করতে পারেন যেমন:

  • ES3 (পুরোনো ব্রাউজার সহ)
  • ES5 (পুরোনো ব্রাউজার সমর্থন সহ)
  • ES6/ES2015 (মর্ডান ব্রাউজার)
  • ESNext (সবচেয়ে নতুন ECMAScript ফিচার)

টার্গেটের প্রভাব

  1. ES3: TypeScript ES3-এ ট্রান্সপাইল করলে পুরোনো ব্রাউজারগুলির জন্য কম্প্যাটিবিলিটি বাড়ানো হয়, তবে আধুনিক ফিচারগুলো পাবেন না।
  2. ES5: এটি অধিকাংশ পুরোনো ব্রাউজার সমর্থন করে এবং অধিকাংশ ফিচারও প্রাপ্য থাকে।
  3. ES6/ES2015 এবং পরবর্তী: আধুনিক ব্রাউজার এবং Node.js পরিবেশের জন্য এই টার্গেট সেরা, যেহেতু এতে নতুন ফিচার এবং পারফরম্যান্স উন্নতি থাকে।

৩. মডিউল সিস্টেম সেটিংস

মডিউল সিস্টেম সেটিংস দ্বারা TypeScript নির্ধারণ করে, মডিউলগুলো কোন ফরম্যাটে ট্রান্সপাইল হবে। এটি module অপশনের মাধ্যমে কনফিগার করা হয়।

উদাহরণ:

{
  "compilerOptions": {
    "module": "commonjs"
  }
}

এই সেটিংসের মাধ্যমে TypeScript কম্পাইলার CommonJS মডিউল সিস্টেম ব্যবহার করে কোড ট্রান্সপাইল করবে, যা Node.js এর জন্য আদর্শ। আপনি ES6 মডিউল সিস্টেমও ব্যবহার করতে পারেন:

{
  "compilerOptions": {
    "module": "ES6"
  }
}

এখানে ES6 মডিউল সিস্টেমে কোড কম্পাইল করার মাধ্যমে import/export সিস্টেম ব্যবহার করা হয়, যা আধুনিক JavaScript মডিউল সিস্টেম।


৪. সংক্ষেপে

  • মডিউল রেজলিউশন: মডিউল কোথায় খুঁজে পাওয়া যাবে তা নির্ধারণ করে। node স্ট্র্যাটেজি ব্যবহার করলে Node.js কনভেনশন অনুসরণ করা হয়।
  • টার্গেট সেটিংস: TypeScript কোন JavaScript ভার্সনে কোড কম্পাইল করবে তা নির্ধারণ করে, যেমন ES5, ES6, অথবা ESNext
  • মডিউল সিস্টেম: মডিউলগুলো কোন ফরম্যাটে কম্পাইল হবে তা নির্ধারণ করে, যেমন commonjs অথবা ES6

TypeScript এর tsconfig.json ফাইলে এই অপশনগুলো কনফিগার করে আপনি আপনার প্রজেক্টের প্রয়োজন অনুযায়ী কোড কম্পাইলেশন এবং মডিউল রেজলিউশন কৌশল নিয়ন্ত্রণ করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...