Pular para o conteúdo principal
Versão: Próxima Versão 🚧

Linha de comandos

A CLI do Wails tem vários comandos que são usados para gerenciar seus projetos. Todos os comandos são executados da seguinte maneira:

wails <command> <flags>

init

wails init é usado para gerar projetos.

FlagDescriçãoPadrão
-n "nome do projeto"Nome do projeto. Obrigatório.
-d "diretório do projeto"Diretório de projeto a criarNome do projeto
-gInicializar o repositório git
-lListar modelos de projetos disponíveis
-qSuprimir saída no console
-t "nome do template"O modelo do projeto a ser usado. Este pode ser o nome de um template padrão ou um URL para um template remoto hospedado no github.vanilla
-ideGerar arquivos de projeto IDE
-fForçar compilação de aplicaçãofalse

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

Isso irá gerar um projeto chamado "test" no diretório "mytestproject", inicializar o git, gerar arquivos de projeto vscode e fazê-lo silenciosamente.

Mais informações sobre isso podem ser encontradas aqui.

Modelos Remotos

Modelos remotos (hospedados no GitHub) são suportados e podem ser instalados usando a URL do projeto do template.

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

Uma lista de modelos mantidos pela comunidade pode ser encontrada aqui

Attention

The Wails project does not maintain, is not responsible nor liable for 3rd party templates!

If you are unsure about a template, inspect package.json and wails.json for what scripts are run and what packages are installed.

build

wails build é usado para compilar seu projeto para um binário pronto para produção.

FlagDescriçãoPadrão
-cleanLimpa o diretório compilação/bin
-compiler "compiler"Use um compilador de ida diferente para realizar build, por exemplo, go1.15beta1go
-debugRetains debug information in the application and shows the debug console. Permite o uso das ferramentas devtools na janela do aplicativo
-devtoolsAllows the use of the devtools in the application window in production (when -debug is not used). Ctrl/Cmd+Shift+F12 may be used to open the devtools window. NOTE: This option will make your application FAIL Mac appstore guidelines. Use for debugging only.
-dryrunPrints the build command without executing it
-fForçar compilação de aplicação
-garbleargsArgumentos para passar para o garble-literals -tiny -seed=random
-ldflags "flags"Ldflags adicionais para passar para o compilador
-mSkip mod tidy before compile
-nopackageNão empacotar aplicação
-nocolourDisable colour in output
-nosyncgomodDo not sync go.mod with the Wails version
-nsisGenerate NSIS installer for Windows
-o nome de arquivoNome do Arquivo de Saída
-obfuscatedOfuscar a aplicação usando garble
-platformCompila para as plataformas (delimitadas por vírgula) por exemplo. windows/arm64. Note, se você não der arquitetura, runtime.GOARCH é usado.platform = variável de ambiente GOOS se determinado runtime.GOOS.
arch = GOARCH variável de envrionment se for dado runtime.GOARCH.
-raceRealiza build com o Go race detector
-sPular build do frontend
-skipbindingsSkip bindings generation
-tags "extra tags"Compilar tags para passar para o compilador Go. Deve ser citado. Separados por espaço ou vírgula (mas não ambos)
-trimpathRemove todos os caminhos do sistema de arquivo do executável resultante.
-uAtualiza o go.mod do seu projeto para usar a mesma versão de Wails que o CLI
-upxComprimir binário final usando "upx"
-upxflagsFlags para passar para o upx
-v intNível de verbosidade(0 - silencioso, 1 - padrão, 2 - verbose)1
-webview2Estratégia de instalação WebView2: download,embed,browser,errorbaixar
-windowsconsoleManter a janela de console para builds do Windows

Para uma descrição detalhada do sinalizador webview2, consulte o guia Windows.

Se você preferir construir usando a ferramenta Go padrão, consulte o guia de Builds Manuais.

Exemplo:

wails build -clean -o myproject.exe

info

On Mac, the application will be bundled with Info.plist, not Info.dev.plist.

UPX no Apple Silicon

Há alguns problemas com o uso de UPX com o Apple Silicon.

UPX no Windows

Alguns fornecedores de antivírus marcam como falsos positivos os binários upx comprimidos como vírus, veja problema.

Plataformas

Plataformas Suportadas:

PlataformaDescrição
darwinMacOS + architecture of build machine
darwin/amd64MacOS 10.13+ AMD64
darwin/arm64MacOS 11.0+ ARM64
darwin/universalMacOS AMD64+ARM64 universal application
windowsWindows 10/11 + architecture of build machine
windows/amd64Windows 10/11 AMD64
windows/arm64Windows 10/11 ARM64
linuxLinux + architecture of build machine
linux/amd64Linux AMD64
linux/arm64Linux ARM64

doctor

wails doctor executará o diagnóstico para garantir que seu sistema esteja pronto para desenvolvimento.

Exemplo:

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 é usado para executar sua aplicação em um modo de "desenvolvimento ao vivo". Isso significa que:

  • O aplicativo go.mod será atualizado para usar a mesma versão do Wails como a CLI
  • A aplicação é compilada e executada automaticamente
  • Um observador é iniciado e acionará uma reconstrução do seu aplicativo de desenvolvimento se ele detectar alterações em seus arquivos go
  • Um servidor web foi iniciado em http://localhost:34115 que serve sua aplicação (não apenas frontend) sobre http. Isso permite que você use suas extensões de desenvolvimento de navegador favoritas
  • Todos os conteúdos do aplicativo são carregados do disco. Se forem alterados, o aplicativo irá recarregar automaticamente (não reconstruir). Todos os navegadores conectados também recarregarão
  • 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.
FlagDescriçãoPadrão
-appargs "args"Argumentos passados para o aplicativo no estilo shell
-assetdir "./caminho/para/midias"Serve os arquivos a partir do diretório fornecido em vez de usar os arquivos FS fornecidosValor em wails.json
-browserAbre um navegador para http://localhost:34115 na inicialização
-compiler "compiler"Use um compilador de ida diferente para realizar build, por exemplo, go1.15beta1go
-debounceO tempo de esperar por recarregar depois que uma alteração de ativo for detectada100 (milliseconds)
-devserver "host:port"O endereço para vincular o servidor de desenvolvimento de wails a"localhost:34115"
-extensionsExtensões para acionar reconstruções (separadas por vírgula)go
-forcebuildForce build of application
-frontenddevserverurl "url"Usar URL do servidor de desenvolvimento de terceiros para servir midias, Vite EG""
-ldflags "flags"Ldflags adicionais para passar para o compilador
-loglevel "loglevel"Nível de log a ser usado - Trace, Debug, Info, Warning, ErrorDebug
-nocolourDesativar saída da colorida da clifalse
-noreloadDesativar a recarga automática quando os arquivos forem alterados
-nosyncgomodDo not sync go.mod with the Wails versionfalse
-raceRealiza build com o Go race detectorfalse
-reloaddirsDiretórios adicionais para acionar recarregamentos (separados por vírgula)Valor em wails.json
-sPular build do frontendfalse
-saveSalva o assetdir, reloaddirs,wailsjsdir,debounce,devserver e frontenddevserverurl passado, flag em wails.json para realizar chamadas subsequentes.
-skipbindingsSkip bindings generation
-tags "extra tags"Compilar tags para passar para o compilador (citado e espaço separado)
-vNível de verbosidade(0 - silencioso, 1 - padrão, 2 - verbose)1
-wailsjsdirO diretório para gerar os módulos gerados do Wails JSValor em wails.json

Exemplo:

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

Este comando fará o seguinte:

  • Compilação do aplicativo e execução (mais detalhes aqui
  • Gerar os módulos JS de Wails em ./frontend/src
  • Assistir por atualizações em arquivos em ./frontend/dist e recarregar em qualquer alteração
  • Abrir um navegador e conectar-se ao aplicativo

Há mais informações sobre como usar este recurso com scripts de framework existentes aqui.

generate

template

A Wails usa modelos para a geração de projeto. O comando wails generate template ajuda a fazer um template para que ele possa ser usado para gerar projetos.

FlagDescrição
-nameO nome do template (Obrigatório)
-frontend "path"Caminho para o projeto frontend para usar no template

Para mais detalhes sobre a criação de modelos, consulte o guia de Modelos.

module

O comando wails generate template permite que você gere manualmente o diretório wailsjs para o seu aplicativo.

update

wails update irá atualizar a versão da CLI do Wails.

FlagDescrição
-preAtualizar para a versão mais recente
-version "version"Instalar uma versão específica do CLI

version

wails version simplesmente irá retornar a versão CLI atual.