Wenn Sie eine Web-App entwickeln und einen reibungslosen, effizienten Prozess wünschen, sollten Sie Node.js mit TypeScript und Docker in Betracht ziehen. Diese Tools machen die Entwicklung schneller, sauberer und einfacher zu verwalten. Viele Unternehmen suchen derzeit in den swiss nach Node.js-Entwicklern, da diese Konfiguration die Entwicklung moderner, skalierbarer Apps ermöglicht.

Ob Sie ein Startup-MVP, ein SaaS-Produkt oder eine Unternehmensanwendung auf den Markt bringen – dieser Technologie-Stack bietet die Flexibilität und Leistung, die Entwickler benötigen. Außerdem vereinfacht er die Zusammenarbeit in Teams, insbesondere in Remote-Umgebungen. In diesem Artikel erklären wir Ihnen Schritt für Schritt, wie Sie ein Node.js-Projekt mit TypeScript und Docker einrichten – auch für Einsteiger.

Warum TypeScript und Docker mit Node.js verwenden?

Node.js ist bereits eine hervorragende Wahl für die Backend-Entwicklung. Durch die Kombination von TypeScript und Docker wird es noch besser.

Vorteile von TypeScript:

  • Fügt JavaScript Typen hinzu und hilft so, Fehler zu vermeiden.
  • Bietet bessere Codevorschläge und Autovervollständigung.
  • Macht den Code leichter verständlich und wartbar.
  • Sorgt für eine frühzeitige Fehlererkennung während der Entwicklung.

Vorteile von Docker:

  • Sorgt dafür, dass Ihre App auf jedem Computer gleich läuft.
  • Sorgt dafür, alle Ihre App-Anforderungen an einem Ort zu bündeln.
  • Nützlich für die einfache Bereitstellung Ihrer App überall.
  • Vereinfacht das Testen in mehreren Umgebungen.

Die Kombination aller drei Tools ermöglicht Ihnen effizienteres Arbeiten, besseren Code und vermeidet Probleme beim Verschieben Ihrer App auf andere Computer oder Server.

Schritt 1: Projektordner einrichten

1. Erstellen Sie einen neuen Ordner für Ihr Projekt.
    mkdir my-node-app
    cd my-node-app
    2. Starten Sie ein neues Node.js-Projekt:
    npm init -y

    Dadurch wird eine package.json-Datei zum Verwalten der Einstellungen und Abhängigkeiten Ihrer App erstellt. Es ist gut, auch eine .gitignore-Datei zu erstellen, um Ordner wie node_modules und dist zu ignorieren:

    echo "node_modules/\ndist/" > .gitignore

    Schritt 2: TypeScript und andere Pakete installieren

    TypeScript und andere hilfreiche Tools installieren:
    npm install typescript ts-node @types/node --save-dev
    • typescript: Ermöglicht das Schreiben von TypeScript.
    • ts-node: Führt TypeScript-Dateien ohne vorherige Kompilierung aus.
    • @types/node: Fügt Typinformationen für Node.js hinzu.
    Erstellen Sie eine TypeScript-Konfigurationsdatei:
    npx tsc --init
    Ändern Sie Ihre tsconfig.json, damit sie dieser Grundkonfiguration entspricht:
    {
      "compilerOptions": {
        "target": "ES6",
        "module": "commonjs",
        "outDir": "dist",
        "rootDir": "src",
        "strict": true,
        "esModuleInterop": true
      },
      "include": ["src"],
      "exclude": ["node_modules"]
    }
    

    Schritt 3: Code hinzufügen

    Erstellen Sie einen Ordner mit dem Namen „src“ und fügen Sie eine Eintragsdatei hinzu:

    mkdir src

    Schreiben Sie in src/index.ts diesen einfachen Code:

    const message: string = "Hello from Node.js with TypeScript!";
    console.log(message);

    So führen Sie es aus:

    npx ts-node src/index.ts

    Sie können zur Vereinfachung auch ein Skript in Ihre package.json einfügen:

    "scripts": {
      "dev": "ts-node src/index.ts"
    }

    Jetzt können Sie einfach Folgendes ausführen:

    npm run dev

    Schritt 4: Dockerisieren Sie Ihre App

    Mit Docker erstellen Sie eine Umgebung, die überall gleich läuft.

    Erstellen Sie eine Datei mit dem Namen „Dockerfile“ im Stammordner:

    # Stage 1: Build
    FROM node:18-alpine AS build
    WORKDIR /app
    COPY package*.json ./
    RUN npm install
    COPY . .
    RUN npm run build
    
    # Stage 2: Run
    FROM node:18-alpine
    WORKDIR /app
    COPY --from=build /app/dist ./
    CMD ["node", "index.js"]

    Fügen Sie dann Folgendes zu Ihren package.json-Skripten hinzu:

    "scripts": {
      "start": "node dist/index.js",
      "build": "tsc"
    }

    Erstellen und führen Sie Ihren Docker-Container aus:

    docker build -t my-node-app .
    docker run my-node-app
    

    Sie können docker-compose.yml auch für Setups mit mehreren Containern verwenden (wie Node.js + Datenbank):

    version: '3.8'
    services:
      app:
        build: .
        ports:
          - "3000:3000"
        volumes:
          - .:/app
          - /app/node_modules
        command: npm run dev

    Schritt 5: Best Practices für Node.js-Projekte

    Um die Verwaltung Ihrer App zu vereinfachen, beachten Sie diese Tipps:

    1. Beispiel für eine Projektstruktur:
    my-node-app/
    ├── src/
    │   └── index.ts
    ├── dist/
    ├── package.json
    ├── tsconfig.json
    ├── .gitignore
    └── Dockerfile
      2. Verwenden Sie die Tools ESLint und Prettier Install, die Ihnen beim Schreiben von sauberem Code helfen:
      npm install eslint prettier --save-dev

      Richten Sie Konfigurationen für Codestil und Formatierung ein. Sie können diese mit Skripten ausführen:

      "scripts": {
        "lint": "eslint src/**/*.ts",
        "format": "prettier --write src/**/*.ts"
      }
      
      3. Verwenden Sie Umgebungsdateien. Vermeiden Sie die Festcodierung von Einstellungen wie Passwörtern. Verwenden Sie .env-Dateien und Bibliotheken wie dotenv:
      npm install dotenv

      Beispielverwendung in Ihrem Code:

      import dotenv from 'dotenv';
      dotenv.config();
      console.log(process.env.MY_SECRET);
      4. Testen Sie Ihren Code. Fügen Sie Unit-Tests mit Jest hinzu:
      npm install --save-dev jest ts-jest @types/jest

      Richten Sie jest.config.js ein und führen Sie Tests mit Folgendem aus:

      npx jest
      5. Halten Sie Abhängigkeiten auf dem neuesten Stand. Aktualisieren Sie Pakete regelmäßig mit:
      npm outdated
      npm update

      Abschluss

      Jetzt wissen Sie, wie Sie ein einfaches Node.js-Projekt mit TypeScript und Docker einrichten! Dieses Setup bietet Ihnen eine solide Grundlage für die Entwicklung von Apps, die einfach zu testen, bereitzustellen und zu skalieren sind. Egal, ob Sie Microservices, APIs oder Full-Stack-Anwendungen entwickeln – dieser Stack wird aufgrund seiner Flexibilität und Effizienz häufig eingesetzt.

      Wenn Sie Unterstützung bei der Entwicklung schneller, moderner Anwendungen benötigen, ist Orbitwebtech das führende Webentwicklungsunternehmen in den Swiss. Wir bieten Expertenlösungen für Startups und Unternehmen mit den neuesten Tech-Stacks wie Node.js, Docker und TypeScript. Wir helfen Ihnen, Ihre Web-Ideen umzusetzen!

      Häufig gestellte Fragen

      1. Warum sollte ich in meinem Node.js-Projekt TypeScript statt JavaScript verwenden?

      TypeScript fügt statische Typisierung hinzu, wodurch Fehler frühzeitig erkannt und der Code leichter verständlich und wartbar wird.

      2. Ist Docker für kleine Node.js-Projekte notwendig?

      Obwohl Docker nicht zwingend erforderlich ist, ist es selbst für kleine Projekte nützlich, da es die Einrichtung, das Testen und die Bereitstellung der Umgebung vereinfacht.

      3. Wie debugge ich TypeScript-Code in einem Docker-Container?

      Sie können den integrierten Debugger von Node.js mit dem Flag –inspect verwenden und Ihr Dockerfile und VSCode entsprechend für Remote-Debugging konfigurieren.

      4. Kann ich eine Node.js + TypeScript-App mit Docker auf Cloud-Plattformen bereitstellen?

      Ja, Docker erleichtert die Bereitstellung auf Diensten wie AWS ECS, Google Cloud Run, Azure oder Heroku mit minimalen Konfigurationsänderungen.

      5. Welche Projektstruktur eignet sich am besten für skalierbare Node.js-Apps?

      Verwenden Sie einen mehrschichtigen Ansatz mit Ordnern für Controller, Dienste, Routen und Modelle im src-Verzeichnis. Dadurch bleibt die Codebasis modular und leicht zu warten.