Skip to content

Node.js (TypeScript) ​

Ar trebui să definești un modul principal ca punct de intrare al aplicației tale Node.js. Codul tău Node.js ar trebui să fie analizat folosind ESLint cu configurația recomandată pentru Node.js și TypeScript.

Fișier de intrare ​

Fișierul de intrare pentru acest șablon trebuie să fie unul dintre următoarele: index.ts, server.ts sau app.ts. Primul care este prezent va fi utilizat ca punct de intrare.

Configurarea serverului pentru API Tester ​

Pentru provocările de tip API, asigură-te că serverul tău este pornit din fișierul de intrare, astfel încât să ruleze atunci când folosești tab-ul API Tester. API Tester este disponibil pentru șabloanele Node.js pentru a trimite cereri și a-ți testa endpoint-urile.

Exemplu cu Express:

typescript
import express from "express";
const app = express();
// Define your routes, then listen on your chosen port
app.listen(3000, () => {
  console.log("Server running");
});

Exemplu cu serverul HTTP încorporat:

typescript
import http from "http";

const server = http.createServer((req, res) => {
  res.writeHead(200, { "Content-Type": "application/json" });
  res.end(JSON.stringify({ message: "Hello World!" }));
});

server.listen(3000, () => {
  console.log("Server running");
});

Versiune ​

Rulează pe Node.js v20.0.0

Limbaje suportate ​

TypeScript

Framework de testare ​

Jest

Memento-uri speciale și detalii de implementare ​

ts
import { describe, expect, it } from "@jest/globals";

import { helloWorld } from "./index";

describe("App", () => {
  it("should return 'Hello, world!'", () => {
    expect(helloWorld()).toEqual("Hello, world!");
  });
});

Biblioteci incluse ​

Provocări write-tests ​

Acest șablon acceptă provocări write-tests. Soluția de referință este deja scrisă, iar tu scrii testele: acestea trebuie să treacă pe soluția de referință și să prindă fiecare variantă cu bug-uri ascunsă. Test îți rulează testele doar pe soluția de referință, iar Verify tests (Verifică testele) și Submit (Trimite) le rulează și pe variantele cu bug-uri ascunse. Citește Rezolvarea unei provocări write-tests pentru întregul flux.

  • Runner de teste: Jest (ts-jest)
  • describe, it și expect sunt disponibile ca variabile globale. Le poți importa și din @jest/globals pentru tipuri explicite.
  • Denumește fișierele de test *.test.ts. O eroare de tip face să pice tot fișierul de test, așa că păstrează testele corecte din punctul de vedere al tipurilor.

Un exemplu complet găsești în Exemple de write-tests după șablon.

Cum să depanezi ​

Depanarea codului TypeScript Node.js este esențială pentru orice dezvoltator. Una dintre cele mai simple, dar eficiente modalități de depanare este utilizarea instrucțiunilor console.log().

Pași pentru depanare folosind log-uri în consolă ​

  1. Identifică zona cu probleme Localizează secțiunea din codul tău unde suspectezi că ar putea fi problema.

  2. Inserează instrucțiuni console.log() Adaugă instrucțiuni console.log() înainte și după codul problematic suspectat pentru a afișa valorile variabilelor și controlul fluxului.

  3. Verifică rezultatul (output-ul) testelor tale

  4. Analizează rezultatul Uită-te la valorile afișate în consolă pentru a înțelege ce nu funcționează corect în codul tău. Ajustează-ți codul pe baza constatărilor și repetă dacă este necesar.

Iată un exemplu despre cum să folosești console.log() pentru depanare în TypeScript:

typescript
function calculateSum(a: number, b: number): number {
  console.log("calculateSum called with arguments:", a, b); // Log function call
  const sum: number = a + b;
  console.log("Sum after addition:", sum); // Log sum calculation
  return sum;
}

const result: number = calculateSum(5, 10);
console.log("Result of calculateSum:", result); // Log the result