Jak używać TypeScript w aplikacji full-stack

TypeScript to potężny język, który dodaje statyczne typowanie do JavaScript, co czyni go doskonałym wyborem do tworzenia solidnych aplikacji full-stack. Ten artykuł zawiera kompleksowy przewodnik na temat integrowania TypeScript zarówno z front-endem, jak i back-endem aplikacji full-stack.

Konfigurowanie TypeScript dla front-endu

Aby użyć języka TypeScript w aplikacji front-end, wykonaj następujące kroki:

  1. Zainicjuj nowy projekt: Utwórz nowy projekt za pomocą frameworka front-end, takiego jak React lub Angular. W tym przykładzie utwórz aplikację React.
npx create-react-app my-app --template typescript
  1. Zainstaluj TypeScript: Jeśli TypeScript nie jest jeszcze zainstalowany, dodaj go do projektu.
npm install typescript @types/react @types/react-dom
  1. Skonfiguruj TypeScript: Upewnij się, że plik tsconfig.json jest poprawnie skonfigurowany dla projektu React. Powinien zostać wygenerowany automatycznie, ale w razie potrzeby można go dostosować.
  2. Napisz kod TypeScript: Zacznij pisać komponenty i inny kod w TypeScript. Na przykład:
import React from 'react';

interface Props {
  title: string;
}

const Header: React.FC<Props> = ({ title }) => {
  return <h1>{title}</h1>;
};

export default Header;

Integracja TypeScript w zapleczu

Aby użyć języka TypeScript w aplikacji zaplecza z Node.js, wykonaj następujące kroki:

  1. Zainicjuj nowy projekt: Utwórz nowy projekt Node.js.
mkdir my-backend
cd my-backend
npm init -y
  1. Zainstaluj TypeScript i Typings: Dodaj TypeScript i niezbędne definicje typów.
npm install typescript @types/node ts-node --save-dev
  1. Konfiguracja TypeScript: Utwórz plik tsconfig.json w celu skonfigurowania ustawień TypeScript.
{
  "compilerOptions": {
    "target": "ES6",
    "module": "commonjs",
    "outDir": "./dist",
    "rootDir": "./src",
    "strict": true,
    "esModuleInterop": true
  }
}
  1. Napisz kod TypeScript: Napisz kod zaplecza w TypeScript. Na przykład:
import express from 'express';

const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`Server running at http://localhost:${port}/`);
});

Łączenie front-endu i back-endu

W aplikacji full-stack front-end komunikuje się z back-endem za pośrednictwem żądań HTTP. Upewnij się, że TypeScript jest używany spójnie po obu stronach, aby wykorzystać bezpieczeństwo typu w całym stosie.

  • Zdefiniuj kontrakty API: Użyj interfejsów lub typów TypeScript, aby zdefiniować i wymusić kształt danych wymienianych między front-endem i back-endem.
  • Przykładowy kontrakt API:
// In frontend
interface User {
  id: number;
  name: string;
}

// In backend
interface User {
  id: number;
  name: string;
} 
// Ensure both frontend and backend use the same contract

Korzyści z używania TypeScript w pełnym rozwoju stosu

  • Bezpieczeństwo typu: TypeScript pomaga wychwytywać błędy w czasie kompilacji, zmniejszając liczbę błędów w czasie wykonywania i poprawiając jakość kodu.
  • Ulepszone środowisko programistyczne: Ulepszona obsługa środowiska IDE i funkcja automatycznego uzupełniania sprawiają, że programowanie jest szybsze i bardziej wydajne.
  • Spójna baza kodu: Użycie TypeScript zarówno w warstwie front-end, jak i back-end zapewnia spójność struktur danych i interfejsów.

Wniosek

Zintegrowanie TypeScript z aplikacją full-stack zwiększa solidność i łatwość utrzymania bazy kodu. Postępując zgodnie z krokami opisanymi dla konfiguracji front-end i back-end, programiści mogą w pełni wykorzystać statyczne typowanie TypeScript i budować bardziej niezawodne aplikacje.