𝗡𝗼𝗱𝗲.𝗷𝘀 𝟮𝟰 𝗡𝗮𝘁𝗶𝘃𝗲 𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁
பில்ட் (build) செய்யும் படிநிலை கிட்டத்தட்ட முடிவுக்கு வந்துவிட்டது.
Node.js 24 இப்போது TypeScript-ஐ இயல்பாகவே (natively) ஆதரிக்கிறது. நீங்கள் பில்ட் படிநிலை இல்லாமலேயே .ts கோப்புகளைத் தயாரிப்புச் சூழலில் (production) இயக்க முடியும். இது உங்கள் குறியீடு (code) மற்றும் அதன் இயக்கம் (execution) ஆகியவற்றிற்கு இடையிலான இடையூறுகளை நீக்குகிறது.
இது எவ்வாறு செயல்படுகிறது: ரன்டைம் (runtime) உங்கள் TypeScript தொடரியலை (syntax) பகுப்பாய்வு செய்கிறது. இது லோட் செய்யப்படும் நேரத்தில் (load time) டைப் அனோடேஷன்களை (type annotations) நீக்குகிறது. பின்னர் resulting JavaScript-ஐ இயக்குகிறது.
இந்த மாற்றத்தைப் பற்றிய முக்கியத் தகவல்கள்:
- இது டைப் செக்கிங்கை (type checking) செய்வதில்லை.
- இது .d.ts கோப்புகளை உருவாக்குவதில்லை.
- இது TypeScript-ஐ அனோடேட்டட் JavaScript (annotated JavaScript) ஆகக் கருதுகிறது.
- ரன்டைம் இயங்குவதற்கு முன்பே அனோடேஷன்களைத் தவிர்த்துவிடுகிறது.
இது உங்கள் விநியோகத்தை (deployment) எளிதாக்குகிறது. விநியோகத்திற்காக நீங்கள் இனி tsc அவுட்புட் கோப்பகங்களையோ (output directories) அல்லது சிக்கலான சோர்ஸ் மேப் (source map) அமைப்புகளையோ நிர்வகிக்க வேண்டிய அவசியமில்லை. உங்கள் மூலக் குறியீடே (source code) உண்மையான ஆதாரமாக மாறுகிறது.
இந்த வரம்புகளைக் கவனத்தில் கொள்ளுங்கள்:
- ரன்டைமில் டைப் செக்கிங் இல்லை. பிழைகளைக் கண்டறிய உங்கள் CI பைப்லைனில் (pipeline) இன்னும்
tsc --noEmitஎன்பதை இயக்க வேண்டியிருக்கும். - tsconfig.json பாத் மேப்பிங்கிற்கு (path mappings) ஆதரவு இல்லை.
- டெக்கரேட்டர்கள் (decorators) அல்லது தனிப்பயன் டிரான்ஸ்பார்மர்களுக்கு (custom transformers) ஆதரவு இல்லை.
- டைப் நீக்கப்படுவதால் (type stripping), கோல்ட் ஸ்டார்ட் (cold starts) நேரங்களில் சிறிய செயல்திறன் இழப்பு ஏற்படலாம்.
நீங்கள் @/utils போன்ற பாத் ஏலியஸ்களை (path aliases) பயன்படுத்தினால், இன்னும் ஒரு பண்ட்லர் (bundler) அல்லது esbuild தேவைப்படும்.
இதைப் பயன்படுத்துவது எப்படி: உங்கள் சர்வரை நேரடியாக Node மூலம் இயக்கலாம்: node src/server.ts
சிறந்த டீபக்கிங்கிற்கு (debugging), சோர்ஸ் மேப் ஃபிளாக்-ஐ (source maps flag) பயன்படுத்தவும்: node --enable-source-maps src/server.ts
எளிமையான டிபென்டென்சி கிராஃப்களைக் (dependency graphs) கொண்ட மைக்ரோசர்வீஸ்களுக்கு (microservices) இது ஒரு சிறந்த தேர்வாகும். இதன் மூலம் விநியோகத்தில் வேகத்தைப் பெறலாம். இருப்பினும், உங்களுக்கு அதிகப்படியான ஆப்டிமைசேஷன் (optimization) அல்லது மினிஃபிகேஷன் (minification) தேவைப்பட்டால், பாரம்பரிய பில்ட் பைப்லைனையே (build pipeline) பின்பற்றுங்கள்.
உங்கள் குறிப்பிட்ட தேவைகளுக்கு ஏற்ப கருவியைத் தேர்ந்தெடுப்பதே இதன் நோக்கமாகும்.