Pular para o conteúdo principal
Versão: v2.3.0

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
-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.
-cleanLimpa o diretório compilação/bin
-compiler "compiler"Use um compilador de ida diferente para realizar build, por exemplo, go1.15beta1go
-ldflags "flags"Ldflags adicionais para passar para o compilador
-nopackageNão empacotar aplicação
-o nome de arquivoNome do Arquivo de Saída
-sPular build do frontendfalse
-fForçar compilação de aplicaçãofalse
-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)
-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
-uAtualiza o go.mod do seu projeto para usar a mesma versão de Wails que o CLI
-debugMantém as informações de depuração no aplicativo. Permite o uso das ferramentas devtools na janela do aplicativofalse
-trimpathRemove todos os caminhos do sistema de arquivo do executável resultante.false
-raceRealiza build com o Go race detectorfalse
-windowsconsoleManter a janela de console para builds do Windows
-obfuscateOfuscar a aplicação usando garblefalse
-garbleargsArgumentos para passar para o garble-literals -tiny -seed=random

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
  • Um módulo JS é gerado que fornece o seguinte:
    • JavaScript wrappers of your Go methods with autogenerated JSDoc, providing code hinting
    • Versões do TypeScript de suas structs Go, que podem ser construídas e passadas para os métodos da sua ida
  • Um segundo módulo JS é gerado que fornece uma declaração wrapper + TS para o tempo de execução
  • No macOS, ele irá empacotar a aplicação em um arquivo .app e executá-lo. Será usado um build/darwin/Info.dev.plist para desenvolvimento.
FlagDescriçãoPadrão
-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
-eExtensões para acionar reconstruções (separadas por vírgula)go
-reloaddirsDiretórios adicionais para acionar recarregamentos (separados por vírgula)Valor em wails.json
-ldflags "flags"Ldflags adicionais para passar para o compilador
-tags "extra tags"Compilar tags para passar para o compilador (citado e espaço separado)
-loglevel "loglevel"Nível de log a ser usado - Trace, Debug, Info, Warning, ErrorDebug
-noreloadDesativar a recarga automática quando os arquivos forem alterados
-nocolourDesativar saída da colorida da clifalse
-nogenDesativar módulo de geração
-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
-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"
-frontenddevserverurl "url"Usar URL do servidor de desenvolvimento de terceiros para servir midias, Vite EG""
-appargs "args"Argumentos passados para o aplicativo no estilo shell
-saveSalva o assetdir, reloaddirs,wailsjsdir,debounce,devserver e frontenddevserverurl passado, flag em wails.json para realizar chamadas subsequentes.
-raceRealiza build com o Go race detectorfalse
-sPular build do frontendfalse

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.