Compilações manuais
O CLI Wails faz um trabalho pesado pelo projeto, mas às vezes é desejável construir o seu projeto manualmente. Este documento discutirá as diferentes operações da CLI e a forma como isso pode ser conseguido de diferentes maneiras.
Processo de compilação
Quando wails build ou wails dev são usados, o Wails CLI executa um processo de compilação comum:
- Instalar dependências frontend
- Construir projeto frontend
- Gerar mídias de construção
- Compilar aplicação
- [optional] Comprimir o aplicativo
Instalar dependências frontend
Passos CLI
- Se a flag
-sfor dada, esta etapa é ignorada - Verifica
wails.jsonpara ver se há um comando de instalação na chavefrontend:install - Se não houver, ela pula esta etapa
- Se houver, ele verifica se
package.jsonexiste no diretório do frontend. Se não existir, pula esta etapa - Uma soma MD5 é gerada a partir do conteúdo do arquivo
package.json - Verifica a existência de
package.json.md5e, se existir, irá comparar o conteúdo dele (uma soma MD5) com o gerado para ver se o conteúdo mudou. Se eles forem iguais, este passo é ignorado - Se
package.json.md5não existir, será criado usando a soma MD5 gerada - Se uma compilação é necessária agora, ou a
node_modulesnão existe, ou a flag-fé dada, o comando de instalação é executado no diretório frontend
Passos manuais
Esta etapa pode ser feita na linha de comando ou um script com o npm install.
Construir projeto frontend
Wails CLI
- Se a flag
-sfor dada, esta etapa é ignorada - Verifica
wails.jsonpara ver se há um comando de compilação na chavefrontend:build - Se não houver, ela pula esta etapa
- Se houver, ele é executado no diretório frontend
Passos manuais
Esta etapa poderia ser feita a partir da linha de comando ou um script com npm run build ou qualquer que seja o script de compilação do frontend.
Gerar mídias
Wails CLI
- Se a flag
-nopackageestiver definida, este estágio será ignorado - Se o arquivo
build/appicon.pngnão existir, um arquivo padrão será criado - Para Windows, consulte Conjuntos para Windows
- Se
build/windows/icon.iconão existir, ele será criado a partir da imagembuild/appicon.png.
Windows
- Se
build/windows/icon.iconão existir, irá criá-lo a partir debuild/appicon. ngusando tamanhos de ícones de 256, 128, 64, 48, 32 e 16. Isso é feito usando o winicon. - Se o arquivo
build/windows/<projectname>.manifestnão existir, será criado a partir de uma versão padrão. - Compila a aplicação como uma compilação de produção (acima)
- Usa winres para empacotar o ícone e manifestar em um arquivo
.sysopronto para vincular.
Passos manuais
- Crie
icon.icousando o winicon Ferramenta de CLI (ou qualquer outra ferramenta). - Criar / Atualizar o arquivo de
.manifestpara sua aplicação - Use o winres CLI para gerar um arquivo
.syso.
Compilar aplicação
Wails CLI
- Se o sinalizador
-cleanfor fornecido, o diretóriobuildé excluído e recriado - Para
wails dev, as seguintes bandeiras Go padrão são usadas:-tags dev -gcflags "all=-N -l" - Para
wails build, as seguintes flags padrão do Go são usadas:-tags desktop,production -ldflags "-w -s"- No Windows,
-ldflags "-w -h -H windowsgui"
- No Windows,
- Tags adicionais passadas para o CLI usando
-tagssão adicionadas aos padrões - Ldflags adicionais passadas para a CLI usando
-ldflagssão adicionados aos padrões - A bandeira
-oé passada - O compilador Go especificado por
-compilerserá usado para compilação
Passos manuais
- Para compilação de desenvolvedores, o comando mínimo seria:
go build -tags dev -gcflags "all=-N -l" - Para a compilação de produção, o comando mínimo seria:
go build -tags desktop,production -ldflags "-w -s -H windowsgui" - Certifique-se de compilar no mesmo diretório que o arquivo
.syso
Comprimir aplicativo
Wails CLI
- Se a flag
-upxtiver sido dada, o programaupxserá executado para comprimir o aplicativo com as configurações padrão - Se
-upxflagstambém for colado, essas flags são usadas em vez das padrão
Passos manuais
- Execute
upx [flags]manualmente para comprimir o aplicativo.