Node.js va TypeScript
TypeScript nima?
TypeScript ixtiyoriy statik yozishni qo‘shadigan JavaScript-ning yuqori to‘plamidir.
Bu xatolarni erta aniqlashga va xavfsizroq, qo‘llab-quvvatlanadigan kod yozishga yordam beradi.
Batafsil ma’lumot olish uchun TypeScript qo‘llanmasini ko‘rib chiqing.
Node.js bilan TypeScript-dan foydalanish
Node.js loyihalarida TypeScript dan foydalanish uchun TypeScript va turni aniqlash menejerini o‘rnatishingiz kerak:
npm install -g typescript
npm install --save-dev @types/node
Kodingizni .ts fayllarga yozing va ularni JavaScript-ga kompilyatsiya qiling:
tsc yourfile.ts
TypeScript loyihasini sozlash
1. Yangi Node.js loyihasini ishga tushiring
npm init -y
2. TypeScript va tip ta’riflarini o‘rnating
npm install --save-dev typescript @types/node
3. TypeScript konfiguratsiyasini ishga tushiring
npx tsc --init
TypeScript asoslari
1. Asosiy turlari
// Primitive types
let isDone: boolean = false;
let count: number = 10;
let name: string = 'TypeScript';
// Arrays
let numbers: number[] = [1, 2, 3];
let names: Array<string> = ['Alice', 'Bob'];
// Tuples
let user: [string, number] = ['Alice', 25];
// Enums
enum Color {Red, Green, Blue}
let color: Color = Color.Green;
2. Interfeyslar va turlari
// Interface
interface User {
id: number;
name: string;
email?: string; // Optional property
}
// Type alias
type Point = {
x: number;
y: number;
};
// Using the interface
function printUser(user: User) {
console.log(`User: ${user.name}`);
}
Node.js bilan TypeScript
1. Oddiy HTTP serverini yaratish
// server.ts
import http from 'http';
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello, TypeScript!');
});
const PORT = process.env.PORT || 3000;
server.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
2. TypeScript dan Express bilan foydalanish
# Install required packages
npm install express
npm install --save-dev @types/express
// app.ts
import express, { Request, Response } from 'express';
interface User {
id: number;
name: string;
}
const app = express();
app.use(express.json());
// In-memory database
let users: User[] = [];
// Get all users
app.get('/users', (req: Request, res: Response) => {
res.json(users);
});
// Add new user
app.post('/users', (req: Request, res: Response) => {
const user: User = req.body;
users.push(user);
res.status(201).json(user);
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
TypeScript konfiguratsiyasi
tsconfig.json
{
"compilerOptions": {
"target": "es2018",
"module": "commonjs",
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
Kompilyatorning asosiy parametrlari:
target: ECMAScript maqsadli versiyasini belgilangmodule: Modul kodini yaratishni belgilangstrict: Barcha qattiq turdagi tekshirish opsiyalarini yoqingoutDir: Chiqish strukturasini katalogga yo‘naltirishrootDir: Kirish fayllarining ildiz katalogini belgilang
Nima uchun TypeScript-ni Node.js bilan ishlatish kerak?
TypeScript-ning afzalliklari:
- Type Safety: xatolarni ishlash vaqtida emas, balki kompilyatsiya vaqtida aniqlang
- Yaxshiroq IDE-ni qo‘llab-quvvatlash: Yuqori avtomatik to‘ldirish va kod navigatsiyasi
- O‘z-o‘zini hujjatlashtirish kodi: Turlar hujjat sifatida xizmat qiladi
- Osonroq qayta tiklash: o‘zgaruvchilar nomini xavfsiz o‘zgartiring va kodni yangilang
- Asta-sekin qabul qilish: Mavjud JavaScript kodiga turlarni bosqichma-bosqich qo‘shing
TypeScript-dan qachon foydalanish kerak:
- Bir nechta ishlab chiquvchilarga ega bo‘lgan katta kod bazalari
- Xavfsizlik turi muhim bo‘lgan API
- Uzoq muddatli davom etadigan loyihalar
- Murakkab ma’lumotlar tuzilmalari bilan ishlashda
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
