𝗡𝗼𝗱𝗲.𝗷𝘀 𝟮𝟰 𝗡𝗮𝘁𝗶𝘃𝗲 𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁
Node.js 24 ਤੁਹਾਡੇ TypeScript ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੇ ਤਰੀਕੇ ਨੂੰ ਬਦਲ ਦਿੰਦਾ ਹੈ। ਹੁਣ ਤੁਸੀਂ ਬਿਨਾਂ ਕਿਸੇ build step ਦੇ production ਵਿੱਚ .ts ਫਾਈਲਾਂ ਚਲਾ ਸਕਦੇ ਹੋ।
Runtime ਲੋਡ ਸਮੇਂ (load time) type annotations ਨੂੰ ਹਟਾ ਦਿੰਦਾ ਹੈ। ਇਹ TypeScript ਨੂੰ annotated JavaScript ਵਜੋਂ ਮੰਨਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਸਿੱਧਾ ਚਲਾਉਂਦਾ ਹੈ। ਇਸ ਨਾਲ transpilation ਜਾਂ bundling ਦੀ ਲੋੜ ਖਤਮ ਹੋ ਜਾਂਦੀ ਹੈ।
ਇਹ ਕਿਉਂ ਮਹੱਤਵਪੂਰਨ ਹੈ:
- ਤੁਹਾਨੂੰ ਸਿਰਫ਼ ਇੱਕ ਹੀ source of truth ਦੀ ਲੋੜ ਹੈ।
- ਤੁਸੀਂ dist directories ਨੂੰ ਸੰਭਾਲਣ ਦੀ ਗੁੰਝਲਤਾ ਨੂੰ ਖਤਮ ਕਰ ਦਿੰਦੇ ਹੋ।
- ਤੁਹਾਡਾ development environment ਬਿਲਕੁਲ production ਦੇ ਸਮਾਨ ਹੁੰਦਾ ਹੈ।
ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ: Module loader source text ਨੂੰ ਰੋਕ ਲੈਂਦਾ ਹੈ। ਇਹ interfaces, type annotations, ਅਤੇ type-only imports ਨੂੰ ਹਟਾ ਦਿੰਦਾ ਹੈ। ਬਾਕੀ ਬਚੀ logic standard V8 engine 'ਤੇ ਚੱਲਦੀ ਹੈ। ਬਦਲਿਆ ਹੋਇਆ code module cache ਵਿੱਚ ਰਹਿੰਦਾ ਹੈ, ਇਸ ਲਈ ਇਹ ਹਰ module load 'ਤੇ ਸਿਰਫ਼ ਇੱਕ ਵਾਰ ਹੀ ਹੁੰਦਾ ਹੈ।
ਉਹ ਸੀਮਾਵਾਂ ਜੋ ਤੁਹਾਨੂੰ ਪਤਾ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ: ਇਹ ਤੁਹਾਡੇ build pipeline ਦਾ ਪੂਰਾ ਬਦਲ ਨਹੀਂ ਹੈ। ਤੁਹਾਨੂੰ ਕੁਝ ਖਾਸ ਕੰਮਾਂ ਲਈ ਅਜੇ ਵੀ tools ਦੀ ਲੋੜ ਪਵੇਗੀ।
- ਕੋਈ type checking ਨਹੀਂ: Runtime ਗਲਤੀਆਂ (errors) ਦੀ ਜਾਂਚ ਨਹੀਂ ਕਰਦਾ। ਬੱਗ (bugs) ਫੜਨ ਲਈ ਤੁਹਾਨੂੰ ਆਪਣੇ CI pipeline ਵਿੱਚ
tsc --noEmitਚਲਾਉਣਾ ਪਵੇਗਾ। - ਕੋਈ path aliases ਨਹੀਂ: ਇਹ tsconfig.json path mappings ਨੂੰ support ਨਹੀਂ ਕਰਦਾ।
- ਕੋਈ decorators ਨਹੀਂ: ਉੱਨਤ (advanced) transformations ਲਈ ਅਜੇ ਵੀ esbuild ਵਰਗੇ bundler ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
- ਕੋਈ runtime safety ਨਹੀਂ: ਹਟਾਏ ਗਏ types execution ਸਮੇਂ ਕੋਈ ਸੁਰੱਖਿਆ ਪ੍ਰਦਾਨ ਨਹੀਂ ਕਰਦੇ। Data validation ਲਈ Zod ਵਰਗੀਆਂ libraries ਦੀ ਵਰਤੋਂ ਕਰੋ।
ਇਸਦੀ ਵਰਤੋਂ ਕਦੋਂ ਕਰਨੀ ਹੈ: Native TypeScript ਉਹਨਾਂ microservices ਲਈ ਵਧੀਆ ਹੈ ਜਿਨ੍ਹਾਂ ਦੇ dependency graphs ਸਰਲ ਹਨ। ਇਹ moving parts ਨੂੰ ਘਟਾ ਕੇ deployment velocity ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ।
ਰਵਾਇਤੀ builds 'ਤੇ ਕਦੋਂ ਟਿਕੇ ਰਹਿਣਾ ਹੈ: ਜੇਕਰ ਤੁਹਾਨੂੰ aggressive optimization, tree shaking, ਜਾਂ minification ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ਆਪਣੀ ਮੌਜੂਦਾ pipeline ਨੂੰ ਬਣਾਈ ਰੱਖੋ। ਗੁੰਝਲਦਾਰ build requirements ਵਾਲੀਆਂ ਵੱਡੀਆਂ applications ਨੂੰ ਅਜੇ ਵੀ optimized JavaScript bundles ਤੋਂ ਜ਼ਿਆਦਾ ਫਾਇਦਾ ਹੋਵੇਗਾ।
ਇਸਨੂੰ ਕਿਵੇਂ ਸੈੱਟ ਕਰਨਾ ਹੈ: ਆਪਣੇ stack traces ਨੂੰ ਪੜ੍ਹਨਯੋਗ ਰੱਖਣ ਲਈ, source maps flag ਦੀ ਵਰਤੋਂ ਕਰੋ।
ਉਦਾਹਰਨ command:
node --enable-source-maps src/server.ts
ਇਹ ਤੁਹਾਨੂੰ ਤੁਹਾਡੇ ਅਸਲ TypeScript line numbers ਦੀ ਵਰਤੋਂ ਕਰਕੇ errors ਨੂੰ debug ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।