Azion CLI build
Comando da Azion CLI que faz o build de um projeto na sua máquina e grava o resultado na pasta .edge, com cada flag, o tipo e o padrão.
O comando build da Azion CLI faz o build do projeto no diretório atual na sua máquina e grava o resultado na pasta .edge. Ele executa o Azion Bundler com o preset do projeto e gera .edge/manifest.json, o arquivo que um deploy local lê. O comando não faz o deploy de nada. As opções que todo comando aceita, como --format, --out e -y, estão em Opções globais.
Uso
azion build lê as configurações do projeto na pasta azion do diretório atual. Execute-o na pasta raiz do projeto:
| Flag | Curta | Tipo | Padrão | Descrição |
|---|---|---|---|---|
--alias-env | — | — | — | Renomeia cada variável que o build lê dos arquivos .env do projeto com um prefixo formado a partir do nome do projeto, tanto no bundle quanto em .edge/.env.azion. O prefixo é o nome em maiúsculas, com cada sequência de caracteres que não são letras nem dígitos trocada por um único _, mais um _ final: my-app gera MY_APP_. |
--config-dir | — | string | "azion" | Caminho relativo para a pasta que guarda os seus arquivos azion.json e args.json. |
--config-file | — | string | — | Caminho para o arquivo azion.config usado no build, como azion.staging.config.cjs. Sem ela, o build usa o arquivo azion.config.* do diretório atual. Um caminho relativo é resolvido a partir do diretório atual. Com --debug, a saída nomeia o arquivo em uso: Using azion.staging.config.cjs config file. Um caminho para um arquivo inexistente faz o comando falhar com Error: The azion.config file informed in --config-file was not found. Verify the path and try again: <path>. |
--entry | — | string | ./main.js | Ponto de entrada do código do build. |
--preset | — | string | — | Preset com que o build do projeto é feito, quando você quer um preset diferente do preset do próprio projeto. Os nomes de preset são os que azion list presets imprime. Para mais informações, consulte Azion CLI presets. |
--skip-framework-build | — | — | — | Pula o build do framework que é executado antes do build da Azion. Use-a quando você já fez o build do framework. |
--use-node-polyfills | — | string | — | Adiciona polyfills do Node.js ao build, para que o código que chama APIs específicas do Node.js continue compatível. |
--use-own-worker | — | string | — | Informa ao build que o seu código declara a própria expressão de worker, como addEventListener("fetch"), para que o build não injete um provider. Use-a quando o seu código já configura o worker. |
O build grava estes arquivos em .edge:
.edge/manifest.json, o manifesto queazion deploy --locallê..edge/functions/handler.jspara um preset estático, ou.edge/functions/index.jspara o preset JavaScript..edge/storage/metadata.jsone uma pasta de storage com o nome do bucket e do prefixo de storage.
Até o primeiro deploy, a pasta de storage tem os nomes literais $BUCKET_NAME/$BUCKET_PREFIX, os placeholders do arquivo azion.config do projeto. O deploy substitui os placeholders nesse arquivo pelo nome do bucket e por um prefixo de storage. Para o preset html, o build não cria nenhuma pasta dist.
azion deploy --local executa o mesmo build antes de enviar os arquivos. Use azion build para verificar um build na sua máquina antes de fazer o deploy.
Exemplos
Cada exemplo mostra o comando e a saída que ele imprime.
Fazer o build de um site estático
Este comando faz o build de um site configurado com o preset html:
O comando executa o Azion Bundler com o preset do projeto e imprime o caminho do manifesto que gera:
Depois do build, a pasta .edge guarda esta árvore. A árvore contém handler.dev.js quando azion dev já rodou no projeto antes do build:
Fazer o build de um projeto de framework
Este comando faz o build de um projeto configurado com o preset angular:
Na etapa de pre-build, o Azion Bundler executa o build do próprio framework, aqui ng build, e depois o build da Azion. --skip-framework-build deixa o build do framework de fora:
O framework grava a saída dele em dist, e o build da Azion grava a mesma árvore .edge de um site estático, sem handler.dev.js.