NPH
Huy Nguyenhuynp.dev
Cover
Engineering

Chuyển đổi sang TypeScript - Cẩm nang sinh tồn

Author
Nguyễn Phát Huy
15 Tháng 5, 20248 phút

TypeScript đã trở thành tiêu chuẩn công nghiệp cho các ứng dụng JavaScript quy mô lớn. Tuy nhiên, quá trình chuyển đổi thường là nơi các team gặp khó khăn.

Vấn đề Strict Mode

Bạn có nên bật strict mode ngay lập tức không? Theo kinh nghiệm của chúng tôi là không. Tốt hơn là tăng dần độ nghiêm ngặt theo thời gian.

json
// tsconfig.json
{
  "compilerOptions": {
    "target": "es5",
    "lib": ["dom", "dom.iterable", "esnext"],
    "allowJs": true,
    "skipLibCheck": true,
    "strict": false, // Bắt đầu với false, bật dần
    "forceConsistentCasingInFileNames": true,
    "noEmit": true,
    "esModuleInterop": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "jsx": "preserve"
  }
}

Bắt đầu nhỏ

Đừng cố gắng chuyển đổi tất cả cùng một lúc. Bật allowJs trong tsconfig và chuyển đổi từng file một.

  1. Đổi tên file: Bắt đầu với các component lá (component không có phụ thuộc). Đổi tên .js thành .tsx.
  2. Sửa types: Sửa các lỗi đỏ ngay lập tức. Sử dụng any nếu cần thiết, nhưng hãy đánh dấu bằng TODO.
  3. Độ nghiêm ngặt: Khi 80% codebase đã được chuyển đổi, hãy bật strictNullChecks.

Kết luận

Chuyển đổi là một cuộc chạy marathon, không phải chạy nước rút.

Bài viết liên quan

Bạn thích bài viết này?

Đăng ký nhận tin để không bỏ lỡ các bài viết mới.