Passer au contenu principal
Version: v2.3.0

CLI

Le CLI Wails a un certain nombre de commandes qui sont utilisées pour gérer vos projets. Toutes les commandes sont exécutées de la manière suivante:

wails <commande> <options>

init

wails init est utilisé pour générer des projets.

OptionDescriptionPar défaut
-n "nom du projet"Nom du projet. Obligatoire.
-d "Répertoire du projet"Dossier de projet à créerNom du projet
-gInitialisation du dépôt git
-lListe des modèles de projet disponibles
-qSupprimer les logs dans la console
-t "nom du modèle"Modèle de projet à utiliser. Cela peut être le nom d'un modèle par défaut ou d'une URL d'un projet hébergé sur github.vanilla
-ideGénérer les fichiers du projet IDE
-fForcer la compilation de l'applicationfalse

Exemple: wails init -n test -d mytestproject -g -ide vscode -q

Cela va générer un projet appelé "test" dans le répertoire "mytestproject", initialiser git, générer des fichiers de projet vscode et le faire silencieusement.

Plus d'informations sur l'utilisation des IDEs avec Wails peuvent être trouvées ici.

Modèles à distance

Les modèles distants (hébergés sur GitHub) sont pris en charge et peuvent être installés en utilisant l'URL du projet du modèle.

Exemple : wails init -n test -t https://github.com/leaanthony/testtemplate[@v1.0.0]

Une liste de modèles gérés par la communauté peut être trouvée ici

Attention

Le projet Wails n'entretient pas, n'est pas responsable ni responsable des modèles tiers !

Si vous n'êtes pas sûr d'un modèle, inspectez les fichiers package.json et wails.json pour savoir quels scripts sont exécutés et quels paquets sont installés.

build

wails build est utilisé pour compiler votre projet vers un binaire prêt à la production.

OptionDescriptionPar défaut
-platformConstruit pour les plates-formes données (séparées par des virgules) par exemple. windows/arm64. Notez que si vous ne donnez pas l'architecture, runtime.GOARCH est utilisé.platform = le contenu de la variable d'environnement GOOS si elle existe, autrement runtime.GOOS.
arch = le contenu de la variable d'environnement GOARCH si elle existe, autrement runtime.GOARCH.
-cleanNettoie le répertoire build/bin
-compiler "compiler"Utiliser un autre compilateur pour compiler, par exemple go1.15beta1go
-ldflags "flags"Options supplémentaires à passer au compilateur
-nopackageNe pas empaqueter l'application
-o filenameNom du fichier de sortie
-sIgnorer la construction du frontendfalse
-fForcer la compilation de l'applicationfalse
-tags "extra tags"Options de compilation à passer au compilateur Go. Doivent être entre guillemets. Séparés par un espace ou une virgule (pas les deux)
-upxCompresser le binaire final en utilisant "upx"
-upxflagsOptions à passer à upx
-v intNiveau de verbosité (0 - silencieux, 1 - par défaut, 2 - verbeux)1
-webview2Stratégie d'installation WebView2 : download,embed,browser,errordownload
-uMet à jour le go.mod de votre projet pour utiliser la même version de Wails que le CLI
-debugConserve les informations de débogage dans l'application. Permet l'utilisation des outils de développement dans la fenêtre de l'applicationfalse
-trimpathSupprimer tous les chemins vers les fichiers système de l'exécutable final.false
-raceConstruire avec le détecteur Go racefalse
-windowsconsoleGarder la fenêtre de la console lors de la construction d'une version pour Windows
-obfuscateCacher le code de l'application en utilisant garblefalse
-garbleargsArguments à passer à garble-literals -tiny -seed=random

Pour une description détaillée des options webview2 , veuillez vous référer au Guide de Windows.

Si vous préférez construire en utilisant l'outil Go standard, veuillez consulter le guide Constructions manuelles .

Exemple:

wails build -clean -o myproject.exe

:::Info Sur Mac, l'application sera livrée avec Info.plist, pas Info.dev.plist. :::

UPX sur Apple Silicon

Il y a problèmes avec l'utilisation de UPX avec Apple Silicon.

UPX sur Windows

Certains antivirus marquent de manière erronée les binaires compressés d'upx comme virus, voir la description du problème.

Platformes

Plateformes supportées:

PlateformeDescription
darwinMacOS + Architecture de la machine de construction
darwin/amd64MacOS 10.13+ AMD64
darwin/arm64MacOS 11.0+ ARM64
darwin/universalApplication universelle MacOS AMD64+ARM64
windowsWindows 10/11 + architecture de la machine
windows/amd64Windows 10/11 AMD64
windows/arm64Windows 10/11 ARM64
linuxLinux + architecture de la machine
linux/amd64Linux AMD64
linux/arm64Linux ARM64

doctor

wails doctor effectuera des diagnostics pour vous assurer que votre système est prêt pour développer avec wails.

Exemple:

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 est utilisé pour exécuter votre application en mode « développement en direct ». Ceci signifie que :

  • Le fichier go.mod de l'application sera mis à jour pour utiliser la même version de Wails que le CLI
  • L'application est compilée et exécutée automatiquement
  • A watcher is started and will trigger a rebuild of your dev app if it detects changes to your go files
  • A webserver is started on http://localhost:34115 which serves your application (not just frontend) over http. This allows you to use your favourite browser development extensions
  • All application assets are loaded from disk. If they are changed, the application will automatically reload (not rebuild). All connected browsers will also reload
  • A JS module is generated that provides the following:
    • JavaScript wrappers of your Go methods with autogenerated JSDoc, providing code hinting
    • TypeScript versions of your Go structs, that can be constructed and passed to your go methods
  • A second JS module is generated that provides a wrapper + TS declaration for the runtime
  • On macOS, it will bundle the application into a .app file and run it. It will use a build/darwin/Info.dev.plist for development.
OptionDescriptionPar défaut
-assetdir "./path/to/assets"Serve assets from the given directory instead of using the provided asset FSValue in wails.json
-browserOpens a browser to http://localhost:34115 on startup
-compiler "compiler"Utiliser un autre compilateur pour compiler, par exemple go1.15beta1go
-eExtensions to trigger rebuilds (comma separated)go
-reloaddirsAdditional directories to trigger reloads (comma separated)Value in wails.json
-ldflags "flags"Options supplémentaires à passer au compilateur
-tags "extra tags"Build tags to pass to compiler (quoted and space separated)
-loglevel "loglevel"Loglevel to use - Trace, Debug, Info, Warning, ErrorDebug
-noreloadDisable automatic reload when assets change
-nocolourTurn off colour cli outputfalse
-nogenDisable generate module
-vVerbosity level (0 - silent, 1 - standard, 2 - verbose)1
-wailsjsdirThe directory to generate the generated Wails JS modulesValue in wails.json
-debounceThe time to wait for reload after an asset change is detected100 (milliseconds)
-devserver "host:port"The address to bind the wails dev server to"localhost:34115"
-frontenddevserverurl "url"Use 3rd party dev server url to serve assets, EG Vite""
-appargs "args"Arguments passed to the application in shell style
-saveSaves the given assetdir, reloaddirs, wailsjsdir, debounce, devserver and frontenddevserverurl flags in wails.json to become the defaults for subsequent invocations.
-raceConstruire avec le détecteur Go racefalse
-sIgnorer la construction du frontendfalse

Exemple:

wails dev -assetdir ./frontend/dist -wailsjsdir ./frontend/src -browser

This command will do the following:

  • Build the application and run it (more details here
  • Generate the Wails JS modules in ./frontend/src
  • Watch for updates to files in ./frontend/dist and reload on any change
  • Open a browser and connect to the application

There is more information on using this feature with existing framework scripts here.

generate

template

Wails uses templates for project generation. The wails generate template command helps scaffold a template so that it may be used for generating projects.

OptionDescription
-nameThe template name (Mandatory)
-frontend "path"Path to frontend project to use in template

For more details on creating templates, consult the Templates guide.

module

The wails generate module command allows you to manually generate the wailsjs directory for your application.

update

wails update will update the version of the Wails CLI.

OptionDescription
-preUpdate to latest pre-release version
-version "version"Install a specific version of the CLI

version

wails version will simply output the current CLI version.