Bei Problemen mit dem Zugriff auf diesen OneDrive Link bitte an @stan1025 wenden! https://1drv.ms/u/s!Apib2MdOJ2WvtowzTb6CDyAlCSZ8xw?e=m7mWw9
Lead: @Zangarus (Marwin Madsen)
Schritte zum Erstellen des node-Projektes, welches wir als Template nutzen:
-
Herunterladen (clone) des Repository:
git clone https://github.com/VDI-CodING/codeING-main.git
-
Wechseln in das Verzeichnis:
cd codeING-main
-
Setze ein npm Projekt auf:
npm init
Bei jeder Frage Enter drücken, um die Standardeinstellungen zu übernehmen.
-
Installiere typescript und richte es als Entwicklungsvoraussetzung ein:
-
Füge die Voraussetzung global und lokal hinzu:
npm install -g -D typescript
-
Erstelle
tsconfig.json
:tsc --init
-
Modifiziere
tsconfig.json
indem du Zeilen 69 und 70 änderst:}, "exclude": [ "node_modules", "./build" ] }
-
-
Installiere typescript für node.js als Entwicklungsvoraussetzung:
npm install -D ts-node
npm install -D @types/node
-
Installiere express als Voraussetzung:
npm install -S express
npm install -D @types/express
-
Schreibe ein kleines Programm:
-
Lege den Ordner
src
im OrdnercodeING-main
an. -
Datei
app.ts
erstellen im Ordnersrc
. -
Ändere den Startpunkt für das Programm in der
package.json
:"main": "src/app.ts",
-
Füge zu
app.ts
hinzu:import express from "express" const app = express(); const port = process.env.PORT || 5000 app.get('/', (req, res) => { res.send('Hallo Welt'); }) app.listen(port, () => { return console.log(`Server lauscht auf ${port}.`) })
-
-
Installiere und konfiguriere eslint:
-
Installiere eslint als Entwicklungsvoraussetzung:
npm install -D eslint
-
Konfiguriere eslint:
Linux und Mac:
./node_modules/.bin/eslint --init
Windows:
.\node_modules\.bin\eslint --init
Folgendes ist dabei auszuwählen:
- To check syntax, find problems, and enforce code style
- JavaScript modules (import/export)
- None of these
- Yes
- Node
- Use a popular style guide
- Standard: https://github.com/standard/standard
- JSON
- Yes
-
Füge Regeln für den Linter zu
.eslintrc.json
hinzu:"no-console": 0, "@typescript-eslint/no-explicit-any": 2, "no-unused-vars": 0, "@typescript-eslint/no-unused-vars": 2
-
Konfiguriere eslint nicht jede Datei zu linten:
-
Datei
.eslintignore
erstellen im OrdnercodeING-main
. -
Füge folgendes zu
.eslintignore
hinzu:node_modules build
-
-
-
Aktiviere auto-format für Visual Studio Code
-
Lade die ESLint extension (dbaeumer.vscode-eslint) herunter (Extensions öffnet man in Visual Studio Code über das Symbol mit den 4 Rechtecke ganz links.).
-
Gehe zu
src/app.ts
und überprüfe in der unteren rechten Ecke ob ESLint (Es muss ein Haken vor dem Namen stehen) aktiviert ist. Wenn nicht drücke auf ESLint und wähle "Allow" aus. -
Ändere Visual Studio Code Einstellungen:
-
Ordner
.vscode
erstellen im OrdnercodeING-main
. -
Datei
settings.json
unter.vscode
anlegen. -
Füge folgendes zu
.vscode/settings.json
hinzu:{ "editor.codeActionsOnSave": { "source.fixAll.eslint": true }, "eslint.validate": [ "typescript" ] }
-
-
-
Installiere und konfiguriere nodemon:
-
Install nodemone als Entwicklungsvoraussetzung:
npm install -D nodemon
-
Konfiguriere nodemon:
-
Datei
nodemon.json
erstellen im OrdnercodeING-main
. -
Füge folgendes zu
nodemon.json
hinzu:{ "watch": [ "src" ], "ext": "ts", "ignore": [ "**/*.test.ts", "**/*.spec.ts", "node_modules", ".git", "build" ], "delay": 3, "exec": "npm run start-dev" }
-
-
-
Füge Skripte zu
package.json
hinzu:"start": "npm run build && node build/app.ts", "start-dev": "ts-node src/app.ts", "start-watch": "nodemon", "build": "tsc", "lint": "eslint src/** --fix --cache"
-
Ausführen des Programms:
- Programm kompilieren:
npm run start-watch
- In einem Browser
localhost:5000
aufrufen.