mirror of
https://github.com/wailsapp/wails.git
synced 2026-03-14 14:45:49 +01:00
251 lines
29 KiB
Text
251 lines
29 KiB
Text
---
|
||
sidebar_position: 2
|
||
---
|
||
|
||
# CLI
|
||
|
||
Das Wails CLI verfügt über eine Reihe von Befehlen, die für die Verwaltung deiner Projekte verwendet werden. Alle Befehle werden wie folgt ausgeführt:
|
||
|
||
`wails <command> <flags>`
|
||
|
||
## init
|
||
|
||
`wails init` wird zum Generieren von Projekten verwendet.
|
||
|
||
| Flag | Beschreibung | Standard |
|
||
|:------------------------ |:------------------------------------------------------------------------------------------------------------------------------------------------------- |:-----------------:|
|
||
| -n "Projektname" | Name des Projekts. **Pflichtfeld**. | |
|
||
| -d "Projekt Verzeichnis" | Zu erstellendes Projektverzeichnis | Name des Projekts |
|
||
| -g | Git-Repository initialisieren | |
|
||
| -l | Verfügbare Projektvorlagen auflisten | |
|
||
| -q | Ausgabe an Konsole unterdrücken | |
|
||
| -t "Vorlagenname" | Die zu verwendende Projektvorlage. Dies kann der Name einer Standardvorlage oder einer URL einer entfernten Vorlage sein, die auf Github gehostet wird. | vanilla |
|
||
| -ide | Generiert IDE Projektdateien für `vscode` oder `goland` | |
|
||
| -f | Erzwingt das Erstellen der Anwendung | false |
|
||
|
||
Beispiel: `wails init -n test -d mytestproject -g -ide vscode -q`
|
||
|
||
Dies generiert ein Projekt mit dem Namen "test" im Verzeichnis "mytestproject", initialisiert git, generiert vscode Projektdateien und tut dies stillschweigend.
|
||
|
||
Weitere Informationen zur Verwendung von IDEs mit Wails [hier](../guides/ides.mdx).
|
||
|
||
### Remote Vorlagen
|
||
|
||
Remote-Vorlagen (gehostet auf GitHub) werden unterstützt und können über die Projektadresse des Templates installiert werden.
|
||
|
||
Beispiel: `wails init -n test -t https://github.com/leaanthony/testtemplate[@v1.0.0]`
|
||
|
||
Eine Liste der von der Gemeinschaft betreuten Vorlagen ist [hier](../community/templates.mdx) zu finden
|
||
|
||
::warning Achtung
|
||
|
||
**Das Wails Projekt pflegt keine Drittanbieter Vorlagen und ist auch nicht für diese verantwortlich!**
|
||
|
||
Wenn du dir wegen einer Vorlage unsicher bist, prüfe die `package.json` sowie die `wails.json` nach Scripts und installierten Paketen.
|
||
|
||
:::
|
||
|
||
## build
|
||
|
||
`wails build` wird verwendet, um das Projekt in eine produktionsfertige Binärdatei zu kompilieren.
|
||
|
||
| Flag | Beschreibung | Standard |
|
||
|:-------------------- |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |:---------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||
| -clean | Löscht das Verzeichnis `build/bin` | |
|
||
| -compiler "compiler" | Benutze einen anderen go compiler um zu builden, z. B. go1.15beta1 | go |
|
||
| -debug | Speichert Debug-Informationen in der Anwendung und zeigt die Debug-Konsole an. Ermöglicht die Verwendung der devtools im Anwendungsfenster | |
|
||
| -devtools | Ermöglicht die Verwendung der devtools im Anwendungsfenster in der Produktion (wenn -debug nicht verwendet wird). Ctrl/Cmd+Shift+F12 können verwendet werden, um das devtools-Fenster zu öffnen. *HINWEIS*: Diese Option macht die Anwendung nicht Richtlinien konform für den Mac App Store. Nur zum Debuggen verwenden. | |
|
||
| -dryrun | Gibt den Build-Befehl aus, ohne ihn auszuführen | |
|
||
| -f | Erzwingt das Erstellen der Anwendung | |
|
||
| -garbleargs | Argumente, die an garble übergeben werden | `-literals -tiny -seed=random` |
|
||
| -ldflags "Flags" | Zusätzliche ldflags zum Übergeben an den Compiler | |
|
||
| -m | Mod tidy vor dem Kompilieren überspringen | |
|
||
| -nopackage | Anwendung nicht packen | |
|
||
| -nocolour | Deaktiviere Farbe in den Ausgaben | |
|
||
| -nosyncgomod | Go.mod nicht mit der Wails Version synchronisieren | |
|
||
| -nsis | NSIS Installer für Windows generieren | |
|
||
| -o Dateiname | Dateiname | |
|
||
| -obfuscated | Den code unkenntlich machen mit [garble](https://github.com/burrowers/garble) | |
|
||
| -platform | Build für die gegebenen (durch Komma getrennten) [Plattformen](../reference/cli.mdx#platforms) zB. `windows/arm64`. Beachte, wenn die Architektur nicht geben wird, wird `runtime.GOARCH` verwendet um diese zu bestimmen. | plattform = `GOOS` Umgebungsvariable wenn `runtime.GOOS` angegeben wird.<br/>arch = `GOARCH` Umgebungsvariable falls `runtime.GOARCH` angegeben ist. |
|
||
| -race | Mit Go's Race Detector builden | |
|
||
| -s | Überspringe das builden des Frontends | |
|
||
| -skipbindings | Das builden von Verknüpfungen überspringen | |
|
||
| -tags "extra tags" | Build-Tags, die an den Go-Compiler übergeben werden. Muss in Anführungszeichen stehen. Wird mit Leerzeichen oder Komma (aber nicht beiden) getrennt | |
|
||
| -trimpath | Entferne alle Dateisystempfade aus der resultierenden ausführbaren Datei. | |
|
||
| -u | Aktualisiert die `go.mod` Datei deines Projekts, um die gleiche Version von Wails wie von dem CLI zu verwenden | |
|
||
| -upx | Finale Binärdatei mit "upx" komprimieren | |
|
||
| -upxflags | Zu übergebende Flags an upx | |
|
||
| -v int | Ausführlichkeitsstufe (0 - stumm, 1 - standard, 2 - ausführlich) | 1 |
|
||
| -webview2 | WebView2 Installationsstrategie: download, embed, browser, error | download |
|
||
| -windowsconsole | Konsolenfenster für Windows-Builds behalten | |
|
||
|
||
Eine detaillierte Beschreibung der `webview2` Flags findest du im [Windows](../guides/windows.mdx) Guide.
|
||
|
||
Wenn du es vorziehst, mit Standard-Go-Werkzeugen zu builden, lese bitte die Anleitung zu [Manuellen Builds](../guides/manual-builds.mdx).
|
||
|
||
Beispiel:
|
||
|
||
`wails build -clean -o myproject.exe`
|
||
|
||
:::info
|
||
|
||
Auf dem Mac wird die Anwendung mit `Info.plist` gebündelt, nicht mit `Info.dev.plist`.
|
||
|
||
:::
|
||
|
||
:::info UPX auf Apple Silicon
|
||
|
||
Es gibt [Probleme](https://github.com/upx/upx/issues/446) mit der Verwendung von UPX mit Apple Silicon.
|
||
|
||
:::
|
||
|
||
:::info Minimale Version für MacOS setzen
|
||
|
||
Du kannst die standardmäßige [minimal version](../gettingstarted/installation#supported-platforms) von macOS für deine App überschreiben, indem du die Version über die Umgebungsvariablen `CGO_CFLAGS` und `CGO_LDFLAGS` angibst. z. B. `CGO_CFLAGS=-mmacosx-version-min=10.15.0 CGO_LDFLAGS=-mmacosx-version-min=10.15.0 wails build`
|
||
|
||
:::
|
||
|
||
:::info UPX unter Windows
|
||
|
||
Einige Antivirenhersteller markieren bei falscher Einstellung `upx` komprimierte Binärdateien als Virus, siehe dieses [issue](https://github.com/upx/upx/issues/437) für mehr Informationen.
|
||
|
||
:::
|
||
|
||
### Plattformen
|
||
|
||
Unterstützte Plattformen:
|
||
|
||
| Plattform | Beschreibung |
|
||
|:---------------- |:---------------------------------------------- |
|
||
| darwin | MacOS + Architektur des Build-Rechners |
|
||
| darwin/amd64 | MacOS 10.13+ AMD64 |
|
||
| darwin/arm64 | MacOS 11.0+ ARM64 |
|
||
| darwin/universal | MacOS AMD64+ARM64 universelle Anwendung |
|
||
| windows | Windows 10/11 + Architektur des Build-Rechners |
|
||
| windows/amd64 | Windows 10/11 AMD64 |
|
||
| windows/arm64 | Windows 10/11 ARM64 |
|
||
| linux | Linux + Architektur des Build-Rechners |
|
||
| linux/amd64 | Linux AMD64 |
|
||
| linux/arm64 | Linux ARM64 |
|
||
|
||
## doctor
|
||
|
||
`wails doctor` startet eine Diagnose, um sicherzustellen, dass dein System für die Entwicklung bereit ist.
|
||
|
||
Beispiel:
|
||
|
||
```
|
||
Wails CLI v2.0.0-beta
|
||
|
||
Scanning system - Please wait (this may take a long time)...Done.
|
||
|
||
System
|
||
------
|
||
OS: Windows 10 Pro
|
||
Version: 2009 (Build: 19043)
|
||
ID: 21H1
|
||
Go Version: go1.18
|
||
Platform: windows
|
||
Architecture: amd64
|
||
|
||
Dependency Package Name Status Version
|
||
---------- ------------ ------ -------
|
||
WebView2 N/A Installed 93.0.961.52
|
||
npm N/A Installed 6.14.15
|
||
*upx N/A Installed upx 3.96
|
||
|
||
* - Optional Dependency
|
||
|
||
Diagnosis
|
||
---------
|
||
Your system is ready for Wails development!
|
||
|
||
```
|
||
|
||
## dev
|
||
|
||
`wails dev` wird verwendet, um deine Anwendung im "Live Development"-Modus auszuführen. Das bedeutet:
|
||
|
||
- Die `go.mod` Datei der Anwendung wird aktualisiert, um die gleiche Version sowohl von Wails als auch dem CLI zu verwenden
|
||
- Die Anwendung wird kompiliert und automatisch ausgeführt
|
||
- Ein Beobachter wird gestartet und löst einen Neuaufbau der Anwendung aus, wenn er Änderungen in Go-Dateien erkennt
|
||
- Ein Webserver wird auf `http://localhost:34115` gestartet, der die Anwendung (nicht nur Frontend) über http bedient. Damit können bevorzugte Browser-Entwicklungserweiterungen verwendet werden
|
||
- Alle App-Assets werden von der Festplatte geladen. Wenn diese geändert werden, wird die Anwendung automatisch neu geladen (nicht neu erstellt). Alle verbundenen Browser laden die Seite ebenfalls neu
|
||
- Ein JS-Modul wird generiert, das Folgendes bereitstellt:
|
||
- JavaScript-Wrapper deiner Go-Methoden mit automatisch generiertem JSDoc, die Code-Hinweise bereitstellen
|
||
- TypeScript Versionen der Go-Structs, die erstellt und an die Go-Methoden übergeben werden können
|
||
- Ein zweites JS-Modul wird generiert, das eine Wrapper + TS Deklaration für die Laufzeit bereitstellt
|
||
- Auf macOS bündelt es die Anwendung in eine `.app` Datei und führt diese aus. Es wird ein `build/darwin/Info.dev.plist` für die Entwicklung verwendet.
|
||
|
||
| Flag | Beschreibung | Standard |
|
||
|:----------------------------------- |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |:-------------------- |
|
||
| -appargs "args" | Die an die Anwendung übergebenen Argumente im Shell-Stil | |
|
||
| -assetdir "./pfad/zu/deinen/assets" | Verwendet Assets aus dem angegebenen Verzeichnis anstatt des bereitgestellten Assets FS | Wert in `wails.json` |
|
||
| -browser | Öffnet beim Start einen Browser für `http://localhost:34115` | |
|
||
| -compiler "compiler" | Benutze einen anderen go compiler um zu builden, z. B. go1.15beta1 | go |
|
||
| -debounce | Die Wartezeit für das Neuladen nach einer erkannten Änderung an einem Asset | 100 (Millisekunden) |
|
||
| -devserver "host:port" | Die Adresse, an die der Wails dev Server gebunden wird | "localhost:34115" |
|
||
| -extensions | Erweiterungen zum Auslösen von Rebuilds (Komma getrennt) | go |
|
||
| -forcebuild | Erzwinge Erstellung der Anwendung | |
|
||
| -frontenddevserverurl "url" | Benutze die Entwickler-URL von Drittanbietern, um Assets zu bedienen, EG Vite | "" |
|
||
| -ldflags "Flags" | Zusätzliche ldflags zum Übergeben an den Compiler | |
|
||
| -loglevel "loglevel" | Loglevel, welcher verwendet werden soll - Trace, Debug, Info, Warnung, Fehler | Debug |
|
||
| -nocolour | Farbe im Cli output deaktivieren | false |
|
||
| -noreload | Automatisches Nachladen bei Änderung von Assets deaktivieren | |
|
||
| -nosyncgomod | Go.mod nicht mit der Wails Version synchronisieren | false |
|
||
| -race | Mit Go's Race Detector builden | false |
|
||
| -reloaddirs | Zusätzliche Verzeichnisse zum Auslösen von Reloads (durch Komma getrennt) | Wert in `wails.json` |
|
||
| -s | Überspringe das builden des Frontends | false |
|
||
| -save | Speichert den angegebenen `assetdir`, `reloaddirs`, `wailsjsdir`, `debounce`, `devserver` und `frontenddevserverurl` flags in `wails.json` als Standardwert für nachfolgende Anrufe. | |
|
||
| -skipbindings | Das builden von Verknüpfungen überspringen | |
|
||
| -tags "extra tags" | Compiler-Optionen (in Anführungszeichen und durch Leerzeichen getrennt) | |
|
||
| -v | Ausführlichkeitsstufe (0 - stumm, 1 - standard, 2 - ausführlich) | 1 |
|
||
| -wailsjsdir | Das Verzeichnis, in dem die generierten Wails-JS-Module erstellt werden sollen | Wert in `wails.json` |
|
||
|
||
Beispiel:
|
||
|
||
`wails dev -assetdir ./frontend/dist -wailsjsdir ./frontend/src -browser`
|
||
|
||
Dieser Befehl wird folgendes tun:
|
||
|
||
- Erstellt die Anwendung und führt diese aus (mehr Details [hier](../guides/manual-builds.mdx)
|
||
- Generiert die Wails JS Module in `./frontend/src`
|
||
- Achtet auf Aktualisierungen der Dateien in `./frontend/dist` und lädt die Seite bei jeder Änderung neu
|
||
- Öffnet einen Browser und verbindet dich mit der App
|
||
|
||
Weitere Informationen zur Verwendung dieser Funktion mit vorhandenen Frameworkskripten findest du [ hier](../guides/application-development.mdx#live-reloading).
|
||
|
||
## generate
|
||
|
||
### template
|
||
|
||
Wails verwendet Vorlagen für die Projekterstellung. Der Befehl `wails generate template` hilft beim Erstellen einer Vorlage, die zur Generierung von Projekten verwendet werden kann.
|
||
|
||
| Flag | Beschreibung |
|
||
|:---------------- |:------------------------------------- |
|
||
| -name | Der Vorlagenname (Pflicht) |
|
||
| -frontend "Pfad" | Pfad zum Frontend-Projekt im Template |
|
||
|
||
Weitere Details zum Erstellen von Vorlagen findest du in der [Vorlagen Anleitung](../guides/templates.mdx).
|
||
|
||
### module
|
||
|
||
Mit dem `wails generate module` Befehl kann das `wailsjs` Verzeichnis für deine Anwendung manuell generiert werden.
|
||
|
||
| Flag | Beschreibung | Standard |
|
||
|:-------------------- |:----------------------------------------------------------------------- |:-------- |
|
||
| -compiler "compiler" | Benutze einen anderen go compiler um zu builden, z. B. go1.15beta1 | go |
|
||
| -tags "extra tags" | Compiler-Optionen (in Anführungszeichen und durch Leerzeichen getrennt) | |
|
||
|
||
## update
|
||
|
||
`wails update` aktualisiert die Version des Wails CLI.
|
||
|
||
| Flag | Beschreibung |
|
||
|:------------------ |:------------------------------------------ |
|
||
| -pre | Update auf die neueste Vorabversion |
|
||
| -version "version" | Installiere eine bestimmte Version des CLI |
|
||
|
||
## version
|
||
|
||
`wails version` gibt die aktuelle CLI-Version aus.
|