init
This commit is contained in:
commit
739cd813d4
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
**/node_modules
|
||||
272
docs/01 - Deno Installation.md
Normal file
272
docs/01 - Deno Installation.md
Normal file
@ -0,0 +1,272 @@
|
||||
# 📌 Deno Installation & VSCode Setup
|
||||
|
||||
Deno ist eine moderne Alternative zu Node.js, die **TypeScript nativ unterstützt**, auf **Sicherheit** fokussiert ist und ein **einfaches Modulmanagement** bietet.
|
||||
|
||||
## 📖 Inhaltsverzeichnis
|
||||
|
||||
- [🚀 Installation von Deno](#🚀-installation-von-deno)
|
||||
- [Windows](#windows)
|
||||
- [macOS](#macos)
|
||||
- [🔧 Einrichtung in VSCode](#🔧-einrichtung-in-vscode)
|
||||
- [🛠️ Wichtige CLI-Befehle](#🛠️-wichtige-cli-befehle)
|
||||
- [🏗️ Ein neues Deno-Projekt anlegen](#🏗️-ein-neues-deno-projekt-anlegen)
|
||||
- [📦 Packages in Deno nutzen](#📦-packages-in-deno-nutzen)
|
||||
- [🗝️ Berechtigung](#🗝️-berechtigung)
|
||||
- [🐞 Häufige Probleme & Lösungen](#🐞-häufige-probleme--lösungen)
|
||||
- [🎯 Fazit](#🎯-fazit)
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Installation von Deno
|
||||
|
||||
### Windows
|
||||
|
||||
1. **Deno per PowerShell installieren**:
|
||||
|
||||
```powershell
|
||||
irm https://deno.land/install.ps1 | iex
|
||||
```
|
||||
|
||||
Alternativ kannst du Deno über [Chocolatey](https://community.chocolatey.org/packages/deno) installieren:
|
||||
|
||||
```powershell
|
||||
choco install deno
|
||||
```
|
||||
|
||||
2. **Den Pfad zu Deno prüfen**:
|
||||
|
||||
```powershell
|
||||
echo $env:PATH
|
||||
```
|
||||
|
||||
3. Falls der **Pfad nicht gesetzt** ist, diesen manuell zur Umgebungsvariable `Path` hinzufügen:
|
||||
`C:\Users\<DEIN-BENUTZERNAME>\.deno\bin`
|
||||
|
||||
Wenn VSCode weiterhin nicht deno erkennt, muss dies manuell in den VSCode Settings hinzugefügt werden:
|
||||
|
||||
- Öffne die **User Settings (JSON)**
|
||||
- über **(`Strg + P` / `Cmd + P` / `F1`)** `>Preferences: Open User Settings (JSON)`
|
||||
- Suche nach `terminal.integrated.env.windows`
|
||||
|
||||
<br>
|
||||
|
||||
```json
|
||||
"terminal.integrated.env.windows": {
|
||||
"PATH": "C:\\Users\\<DEIN-BENUTZERNAME>\\.deno\\bin;${env:PATH}"
|
||||
}
|
||||
```
|
||||
|
||||
Falls der Eintrag noch nicht vorhanden ist, füge ihn einfach hinzu und starte VSCode neu.
|
||||
|
||||
---
|
||||
|
||||
### macOS
|
||||
|
||||
1. **Deno über Homebrew installieren**:
|
||||
|
||||
```sh
|
||||
brew install deno
|
||||
```
|
||||
|
||||
Alternativ kannst du Deno über curl installieren:
|
||||
|
||||
```sh
|
||||
curl -fsSL https://deno.land/install.sh | sh
|
||||
```
|
||||
|
||||
2. **Den Pfad zu Deno prüfen**:
|
||||
|
||||
```sh
|
||||
echo $DENO_INSTALL
|
||||
```
|
||||
|
||||
Falls der **Pfad nicht gesetzt** ist, füge ihn zu `.zshrc` oder `.bashrc` hinzu:
|
||||
|
||||
```sh
|
||||
export DENO_INSTALL="$HOME/.deno"
|
||||
export PATH="$DENO_INSTALL/bin:$PATH"
|
||||
```
|
||||
|
||||
3. Änderungen übernehmen:
|
||||
```sh
|
||||
source ~/.zshrc # oder ~/.bashrc
|
||||
```
|
||||
|
||||
<br>
|
||||
|
||||
---
|
||||
|
||||
<br>
|
||||
Nach der Installation sollte die ausführbare Datei deno in Ihrem Systempfad verfügbar sein.
|
||||
|
||||
Sie können die Installation überprüfen, indem Sie das Programm ausführen:
|
||||
|
||||
<br>
|
||||
|
||||
```sh
|
||||
$ deno --version
|
||||
|
||||
deno 2.1.9 (stable, release, x86_64-pc-windows-msvc)
|
||||
v8 13.0.245.12-rusty
|
||||
typescript 5.6.2
|
||||
```
|
||||
|
||||
<br>
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Einrichtung in VSCode
|
||||
|
||||
1. **VSCode-Erweiterung für Deno installieren**
|
||||
➜ [Deno VSCode Extension](https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno)
|
||||
|
||||
2. **Deno für das Projekt aktivieren**
|
||||
|
||||
Um Deno in deinem Projekt zu aktivieren und die Deno-APIs sowie Modul-Auflösung zu nutzen, öffne die VS Code-Befehls-Palette und wähle "Deno: Initialize Workspace Configuration".
|
||||

|
||||
|
||||
Dieser Befehl fügt **'deno.enable': true** zu eurer Workspace-Konfiguration (.vscode/settings.json im Projektordner) hinzu. Alternativ könnt ihr es auch manuell einstellen:
|
||||
|
||||
- Öffne die **Einstellungen (`Strg + ,` / `Cmd + ,`)**
|
||||
- Suche nach `"deno.enable"` und aktiviere die Option
|
||||
- Alternativ in der `settings.json` hinzufügen:
|
||||
```json
|
||||
{
|
||||
"deno.enable": true
|
||||
}
|
||||
```
|
||||
|
||||
3. **Linter und Formatierung aktivieren** (optional):
|
||||
```json
|
||||
{
|
||||
"deno.lint": true
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Wichtige CLI-Befehle
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
| ----------------------------------------- | ------------------------------------------------------ |
|
||||
| `deno --version` | Zeigt die installierte Deno-Version an |
|
||||
| `deno help` | Zeigt eine Liste aller Befehle |
|
||||
| `deno init <my_project>` | Erstellt ein neues Deno Projekt |
|
||||
| `deno run <datei.ts>` | Führt eine TypeScript-Datei aus |
|
||||
| `deno cache <datei.ts>` | Lädt alle Abhängigkeiten in den Cache |
|
||||
| `deno fmt` | Formatiert den Code nach Standardregeln |
|
||||
| `deno lint` | Prüft den Code auf Fehler |
|
||||
| `deno upgrade` | Aktualisiert Deno auf die neueste Version |
|
||||
| `deno repl` | Startet eine interaktive Deno-Shell |
|
||||
| `deno eval "console.log('Hello, Deno!')"` | Führt JavaScript/TypeScript-Code direkt aus |
|
||||
| `deno info <datei.ts>` | Zeigt Informationen zur TypeScript/JavaScript-Datei an |
|
||||
| |
|
||||
|
||||
---
|
||||
|
||||
## 🏗️ Ein neues Deno-Projekt anlegen
|
||||
|
||||
1. **Neues Verzeichnis erstellen**:
|
||||
|
||||
```sh
|
||||
mkdir mein-deno-projekt && cd mein-deno-projekt
|
||||
```
|
||||
|
||||
2. **Erste Datei erstellen (`main.ts`)**:
|
||||
|
||||
```ts
|
||||
console.log('Hello, Deno!');
|
||||
```
|
||||
|
||||
3. **Datei ausführen**:
|
||||
```sh
|
||||
deno run main.ts
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📦 Packages in Deno nutzen
|
||||
|
||||
Deno verwendet keine `node_modules`. Stattdessen werden URLs direkt importiert, um Abhängigkeiten zu laden. Du kannst Module entweder direkt von URLs importieren oder einen Paketmanager wie `deno.land/x` verwenden.
|
||||
|
||||
### 🛠️ Ein Paket hinzufügen:
|
||||
|
||||
```ts
|
||||
import { something } from 'https://deno.land/x/something/mod.ts';
|
||||
```
|
||||
|
||||
### 📤 Entfernen eines Pakets:
|
||||
|
||||
Da es keine `node_modules` gibt, müssen ungenutzte **Imports manuell entfernt** werden.
|
||||
|
||||
### 🔄 Update von Abhängigkeiten:
|
||||
|
||||
Deno cached Imports automatisch. Falls ein neues Update einer URL verfügbar ist:
|
||||
|
||||
```sh
|
||||
deno cache --reload main.ts
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🗝️ Berechtigung
|
||||
|
||||
Deno verwendet ein Berechtigungsmodell für den Zugriff auf Ressourcen. Wenn du ein Skript ausführst, benötigt es möglicherweise bestimmte Berechtigungen, um Aktionen wie den Zugriff auf das Dateisystem oder das Netzwerk auszuführen.
|
||||
|
||||
Verwende die --allow-\* Flags, um Berechtigungen zu erteilen.
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
| --------------- | ---------------------------------------------------- |
|
||||
| `--allow-read` | Lesezugriff auf Dateien und Verzeichnisse |
|
||||
| `--allow-write` | Schreibzugriff auf Dateien und Verzeichnisse |
|
||||
| `--allow-net` | Netzwerkzugriff |
|
||||
| `--allow-env` | Zugriff auf Umgebungsvariablen |
|
||||
| `--allow-run` | Ausführen anderer Programme |
|
||||
| `--allow-all` | Gewährt alle Berechtigungen (mit Vorsicht verwenden) |
|
||||
| `--unstable` | Aktiviert instabile APIs |
|
||||
|
||||
<br>
|
||||
|
||||
```sh
|
||||
deno run --allow-read myscript.ts
|
||||
```
|
||||
|
||||
<br>
|
||||
|
||||
---
|
||||
|
||||
|
||||
## 🐞 Häufige Probleme & Lösungen
|
||||
|
||||
### ❌ `Relative import path "@std/assert" not prefixed with / or ./ or ../`
|
||||
**Problem:** Nach `deno init` wird die Datei `main_test.ts` generiert, die `@std/assert` importiert, aber nicht findet.
|
||||
|
||||
**Lösung:** Das Modul explizit installieren:
|
||||
```sh
|
||||
deno add jsr:@std/assert
|
||||
```
|
||||
Alternativ den vollständigen Pfad im Import nutzen:
|
||||
```ts
|
||||
import { assert } from "https://deno.land/std@0.221.0/assert/mod.ts";
|
||||
```
|
||||
Danach den Cache erneuern:
|
||||
```sh
|
||||
deno cache --reload main_test.ts
|
||||
deno test main_test.ts
|
||||
```
|
||||
|
||||
Falls weiterhin Probleme auftreten, überprüfe mit:
|
||||
```sh
|
||||
deno info
|
||||
```
|
||||
ob das Modul korrekt geladen wurde.
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Fazit
|
||||
|
||||
Deno ist eine einfache und sichere Alternative zu Node.js mit **nativem TypeScript-Support**.
|
||||
|
||||
🔗 **Mehr Infos:** [Deno Offizielle Dokumentation](https://deno.land/manual)
|
||||
|
||||
---
|
||||
BIN
docs/01 - Deno Installation.pdf
Normal file
BIN
docs/01 - Deno Installation.pdf
Normal file
Binary file not shown.
13
docs/02 - VSCode Extensions.md
Normal file
13
docs/02 - VSCode Extensions.md
Normal file
@ -0,0 +1,13 @@
|
||||
# Empfohlene VSCode-Erweiterungen für TypeScript und Deno
|
||||
|
||||
| Name | Optional | Beschreibung |
|
||||
| ------------------------------------------------------------------------------------------------------------------------ | -------- | ----------------------------------------------------------------------------------------------------------------------- |
|
||||
| [Deno](https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno) | ❌ | Offizielle Deno-Erweiterung für VSCode. Fügt Unterstützung für Deno-Projekte hinzu, inklusive Linting und Formatierung. |
|
||||
| [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) | ❌ | Linting-Unterstützung für TypeScript und JavaScript, kompatibel mit Deno. |
|
||||
| [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) | ❌ | Code-Formatierung für TypeScript, JavaScript und andere Sprachen. |
|
||||
| [Error Lens](https://marketplace.visualstudio.com/items?itemName=usernamehw.errorlens) | ❌ | Hebt Fehler und Warnungen direkt im Editor hervor, um Probleme schneller zu erkennen. |
|
||||
| [Path Intellisense](https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense) | ✅ | Autovervollständigung für Dateipfade in Import-Anweisungen. |
|
||||
| [GitLens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens) | ❌ | Erweiterte Git-Funktionalitäten direkt in VSCode. |
|
||||
| [REST Client](https://marketplace.visualstudio.com/items?itemName=humao.rest-client) | ✅ | Senden von HTTP-Anfragen direkt in VSCode, nützlich für API-Tests. |
|
||||
| [Todo Tree](https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.todo-tree) | ✅ | Findet und organisiert TODO-Kommentare im Code. |
|
||||
| [Prettify TypeScript: Better Type Previews](https://marketplace.visualstudio.com/items?itemName=MylesMurphy.prettify-ts) | ✅ | Es bietet eine bessere Hover-Vorschau für TypeScript |
|
||||
BIN
docs/02 - VSCode Extensions.pdf
Normal file
BIN
docs/02 - VSCode Extensions.pdf
Normal file
Binary file not shown.
3
docs/03. Deno Links.md
Normal file
3
docs/03. Deno Links.md
Normal file
@ -0,0 +1,3 @@
|
||||
| Name | Beschreibung |
|
||||
| ----------------------------------------------------------------------------------------------------------------- | ------------ |
|
||||
| [Testing with Deno](https://medium.com/deno-the-complete-reference/testing-with-deno-part-4-asserts-5b708c0e33e4) | |
|
||||
BIN
docs/03. Deno Links.pdf
Normal file
BIN
docs/03. Deno Links.pdf
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user