Aufgabenautomatisierung mit TypeScript: Wie Sie langweilige Arbeit nicht mehr manuell erledigen müssen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Warum TypeScript die ideale Sprache für Automatisierung ist

\n

Jeder Entwickler hat schon mindestens einmal Stunden damit verbracht, manuell 200 Dateien umzubenennen, Daten von einem Dutzend Seiten zu sammeln oder JSON in das gewünschte Format zu bringen. Routine tötet Produktivität und Motivation. Aber es gibt eine gute Nachricht: Automatisierung mit TypeScript löst diese Probleme schnell und elegant.

\n

TypeScript ist nicht nur ein Aufsatz zu JavaScript. Es bietet starke Typisierung, lesbaren Code und ein leistungsstarkes Node.js-Ökosystem. Wenn Sie in Python schreiben, aber nach einer Alternative für die Automatisierung suchen, oder bereits mit TS arbeiten und das Maximum daraus herausholen möchten, ist dieser Artikel genau das Richtige für Sie. Wir behandeln reale Anwendungsfälle: vom Parsen von Webseiten bis zur Erstellung von CLI-Tools und Aufgabenplanern.

\n\n

Erste Schritte: Einrichtung der Umgebung

\n

Bevor Sie TypeScript Skripte schreiben, müssen Sie die Umgebung vorbereiten. Stellen Sie sicher, dass Node.js (Version 18+) und npm installiert sind.

\n
# TypeScript global installieren\nnpm install -g typescript\n\n# Projekt initialisieren\nmkdir auto-ts && cd auto-ts\nnpm init -y\nnpm install typescript @types/node ts-node --save-dev\n
\n

Erstellen Sie eine Datei tsconfig.json mit grundlegenden Einstellungen:

\n
{\n  "compilerOptions": {\n    "target": "ES2020",\n    "module": "commonjs",\n    "outDir": "./dist",\n    "rootDir": "./src",\n    "strict": true,\n    "esModuleInterop": true\n  },\n  "include": ["src/**/*"]\n}\n
\n

Jetzt können Sie Skripte im Ordner src schreiben und über ts-node src/script.ts ausführen. Dies ist die Grundlage für jede Automatisierung von Aufgaben mit ts.

\n\n

Anwendungsfall 1: Automatisches Parsen von Webseiten

\n

Stellen Sie sich vor: Sie müssen die Nachrichtenüberschriften von der Startseite einer Nachrichtenwebsite sammeln. Manuelles Kopieren und Einfügen ist von gestern. Schreiben wir einen Parser in TypeScript mit cheerio und axios.

\n
npm install axios cheerio\n
\n

Erstellen wir eine Datei src/parser.ts:

\n
import axios from 'axios';\nimport * as cheerio from 'cheerio';\n\ninterface NewsItem {\n  title: string;\n  link: string;\n}\n\nasync function parseNews(url: string): Promise<NewsItem[]> {\n  const { data } = await axios.get(url);\n  const $ = cheerio.load(data);\n  const news: NewsItem[] = [];\n\n  $('h2.news-title a').each((i, el) => {\n    news.push({\n      title: $(el).text().trim(),\n      link: $(el).attr('href') || '',\n    });\n  });\n\n  return news;\n}\n\n(async () => {\n  const items = await parseNews('https://example-news-site.com');\n  console.log(`Gefunden ${items.length} Nachrichten:`);\n  items.forEach(item => console.log(`- ${item.title}`));\n})();\n
\n

Dieses Parsing mit TypeScript lässt sich leicht erweitern: Hinzufügen von CSV-Export, Senden an Telegram oder Speichern in einer Datenbank. Die Typisierung von NewsItem macht den Code zuverlässig und verständlich.

\n\n

Anwendungsfall 2: Stapelverarbeitung von Dateien

\n

Angenommen, Sie haben einen Ordner mit hundert CSV-Dateien, die zu einer einzigen zusammengeführt werden sollen, wobei Duplikate entfernt werden. Manuelle Arbeit würde einen Tag dauern. Automatisierung mit TypeScript erledigt dies in Sekunden.

\n
npm install fs-extra papaparse\n
\n
import * as fs from 'fs-extra';\nimport * as path from 'path';\nimport Papa from 'papaparse';\n\ninterface Row {\n  [key: string]: string;\n}\n\nasync function mergeCSV(inputDir: string, outputFile: string): Promise<void> {\n  const files = (await fs.readdir(inputDir)).filter(f => f.endsWith('.csv'));\n  const allRows: Row[] = [];\n  const seen = new Set<string>();\n\n  for (const file of files) {\n    const content = await fs.readFile(path.join(inputDir, file), 'utf-8');\n    const parsed = Papa.parse<Row>(content, { header: true });\n    \n    for (const row of parsed.data) {\n      const key = JSON.stringify(row);\n      if (!seen.has(key)) {\n        seen.add(key);\n        allRows.push(row);\n                

Blogs

Buchempfehlungen