TypeScript नया मानक क्यों है, और सबसे अच्छा कोड कहाँ खोजें?
\n\nयदि आप JavaScript में लिखते हैं और अभी तक TypeScript पर स्विच नहीं किया है, तो आप समय बर्बाद कर रहे हैं। गंभीरता से। TypeScript (या TS) केवल JS के ऊपर एक "एड-ऑन" नहीं है। यह सख्त टाइपिंग, ऑटो-कम्प्लीशन, बिना कुछ तोड़ने के डर के रिफैक्टरिंग और निश्चित रूप से ओपन सोर्स कोड है जिसे सीखा जा सकता है (और सीखना चाहिए)।
\n\nइस लेख में हम यह नहीं बताएंगे कि TypeScript कैसे स्थापित करें। इसके बजाय, हम GitHub पर जाएंगे और 7 सर्वश्रेष्ठ रिपॉजिटरी का विश्लेषण करेंगे जो न केवल सुंदर समाधान दिखाएंगी बल्कि आपको अधिक स्वच्छ, सुरक्षित और स्केलेबल कोड लिखने में भी मदद करेंगी। प्रत्येक प्रोजेक्ट एक ट्यूटोरियल है, जो वास्तविक कोड में लिखा गया है।
\n\nहम रिपॉजिटरी में क्या ढूंढ रहे हैं?
\n\n- \n
- आर्किटेक्चरल पैटर्न — प्रोजेक्ट को कैसे बनाया जाए ताकि एक महीने बाद उसे हटाने का मन न हो। \n
- सख्त टाइपिंग के उदाहरण — जहाँ TS 100% अपना प्रभाव दिखाता है। \n
- वास्तविक लाभ — लाइब्रेरी जिन्हें अभी लागू किया जा सकता है। \n
चलिए शुरू करते हैं!
\n\n1. NestJS — गंभीर अनुप्रयोगों के लिए फ्रेमवर्क
\n\nरिपॉजिटरी: github.com/nestjs/nest
\n\nNestJS शायद TypeScript पर सबसे सुंदर फ्रेमवर्क है। यह Angular (मॉड्यूल, डेकोरेटर, DI) से विचार उधार लेता है और सर्वर कोड को कला का नमूना बना देता है।
\n\nक्यों सीखना चाहिए:
\n- \n
- मॉड्यूल में स्पष्ट विभाजन। \n
- GraphQL, WebSockets, RabbitMQ के लिए अंतर्निहित समर्थन। \n
- दस्तावेज़ीकरण — अनुकरणीय उदाहरण। \n
रिपॉजिटरी से कोड का उदाहरण (कंट्रोलर और सर्विस):
\n\n// cats.controller.ts\nimport { Controller, Get, Post, Body } from '@nestjs/common';\nimport { CatsService } from './cats.service';\nimport { CreateCatDto } from './dto/create-cat.dto';\nimport { Cat } from './interfaces/cat.interface';\n\n@Controller('cats')\nexport class CatsController {\n constructor(private catsService: CatsService) {}\n\n @Post()\n async create(@Body() createCatDto: CreateCatDto) {\n this.catsService.create(createCatDto);\n }\n\n @Get()\n async findAll(): Promise<Cat[]> {\n return this.catsService.findAll();\n }\n}\n\n\nडेकोरेटर @Controller, @Get और सख्त इंटरफ़ेस Cat पर ध्यान दें। यह केवल कोड नहीं है — यह एक टेम्पलेट है जिस पर सैकड़ों हजारों प्रोजेक्ट बनाए जाते हैं।
2. Prisma — ORM जो परेशान नहीं करता
\n\nरिपॉजिटरी: github.com/prisma/prisma
\n\nPrisma TypeScript और Node.js के लिए एक आधुनिक ORM (Object-Relational Mapping) है। यह आपके डेटाबेस स्कीमा के आधार पर स्वचालित रूप से टाइप जनरेट करता है। इसका मतलब है कि "फ़ील्ड मौजूद नहीं है" जैसी त्रुटि रनटाइम के बजाय कम्पाइलेशन चरण में पकड़ी जाएगी।
\n\nआप क्या सीखेंगे: "Schema-first" दृष्टिकोण और ऑटो-जनरेशन ऑफ टाइप्स।
\n\nदस्तावेज़ीकरण से उदाहरण:
\n\n// schema.prisma\nmodel User {\n id Int @id @default(autoincrement())\n email String @unique\n name String?\n posts Post[]\n}\n\nmodel Post {\n id Int @id @default(autoincrement())\n title String\n content String?\n author User @relation(fields: [authorId], references: [id])\n authorId Int\n}\n\n// usage.ts\nimport { PrismaClient } from '@prisma/client';\n\nconst prisma = new PrismaClient();\n\nasync function main() {\n const user = await prisma.user.create({\n data: {\n email: 'alice@prisma.io',\n name: 'Alice',\n posts: {\n create: { title: 'Hello World' },\n },\n },\n });\n console.log(user);\n}\n\n\nPrisma इस बात का एक आदर्श उदाहरण है कि कैसे TypeScript डेटा के साथ काम को सुरक्षित और तेज़ बना सकता है।
\n\n