A ESA CLI (esa-cli) permite gerenciar todo o ciclo de vida do Functions and Pages diretamente do terminal. Com ela, você cria projetos, depura localmente, implanta em todos os pontos de presença (POPs) e configura domínios personalizados e rotas.
Com a ESA CLI, é possível:
Desenvolvimento local: crie projetos, inicie um serviço de depuração local que simula o ambiente de produção e teste funções de borda antes da implantação.
Implantação: confirme versões e implante em todos os POPs.
Gerenciamento de domínios e rotas: configure domínios personalizados e rotas para seus projetos de Functions and Pages.
Suporte a projetos com múltiplos arquivos: a CLI empacota e compila automaticamente as dependências do projeto, incluindo módulos npm, permitindo implantar projetos Node.js locais na nuvem.
Para consultar a referência completa de comandos e o código-fonte, acesse o repositório da ESA CLI no GitHub.
Pré-requisitos
Antes de começar, verifique se você tem:
Instalar a CLI
Instale a ESA CLI globalmente via npm e, em seguida, verifique a instalação:
npm install esa-cli -g # Install the CLI globally
esa-cli -v # Verify the installed version
esa-cli --help # View available commands
Fazer login na conta
Obtenha seu AccessKey ID e AccessKey secret no console do Resource Access Management (RAM) do Alibaba Cloud e execute:
esa-cli login
Para fazer logout:
esa-cli logout
Nota: Caso precise apenas depurar o código localmente, ignore esta etapa. A autenticação não é necessária para depuração local.
Inicializar um projeto
Execute esa-cli init para criar um projeto. A CLI solicitará que você insira um nome de projeto e selecione um modelo.
esa-cli init
Depurar localmente
Após escrever seu código, inicie o serviço de depuração local:
esa-cli dev
A CLI empacota automaticamente o arquivo de entrada e inicia um servidor local que simula o ambiente de produção.

Atalhos de teclado disponíveis durante a depuração:
|
Tecla |
Ação |
|
|
Abre a página de depuração no navegador |
|
|
Limpa o painel |
|
|
Encerra a depuração |
Para utilizar uma porta específica:
esa-cli dev --port <port>
Depurar com o Chrome DevTools
O código do EdgeRoutine é executado no lado do servidor. O console de visualização do navegador não exibe a saída das instruções console do arquivo de entrada. Para visualizar essa saída, utilize o Chrome DevTools:
Abra
chrome://inspect#devicesno Chrome.Em Remote Target, localize a sessão de depuração em execução.
Clique em inspect para abrir o DevTools e visualizar a saída do console.
Usar a Edge Storage API e a Cache API localmente
A depuração local oferece suporte à Edge Storage API e à Cache API no seu código.
Nota: Para garantir a segurança dos seus dados online, o serviço de armazenamento de borda não recupera nem define dados online durante a depuração local.
Para simular dados de armazenamento de borda localmente, crie um arquivo kv.json no diretório raiz do projeto, no mesmo nível do arquivo de configuração esa.jsonc:
{
"namespace": {
"k1": "v1",
"k2": "v2"
}
}
Acesse os dados simulados no seu código:
const edgeKv = new EdgeKV({ namespace: 'namespace' });
async function run() {
const data = await edgeKv.get('k1', { type: 'text' });
console.log(data); // 'v1'
}
Confirmar uma versão
Após concluir a depuração local, confirme seu código como uma versão:
esa-cli commit
Implantar em produção
Implante uma versão em todos os POPs online:
esa-cli deploy
A CLI solicitará que você selecione uma versão e um ambiente de destino.
Para verificar o status da implantação ou excluir uma versão:
esa-cli deployments list # View deployment status
esa-cli deployments delete <versionId> # Delete a version
Configurar domínios personalizados
Vincule um nome de domínio aos seus projetos de Functions and Pages. O domínio deve ser um subdomínio do seu site ESA e possuir registro ICP. Após o vínculo, o Functions and Pages atua como servidor de origem para esse domínio, e o domínio resolve diretamente para sua função de borda.
esa-cli domain list
esa-cli domain add <domainName>
esa-cli domain delete <domainName>
Configurar rotas
Vincule uma rota ao seu site ESA. Quando uma solicitação corresponde à rota, ela aciona a execução do Functions and Pages, permitindo que o serviço se comunique com o servidor de origem do site.
esa-cli route list
esa-cli route add [route] [site]
esa-cli route delete <route>
Gerenciar funções
Visualize e exclua funções utilizando a CLI:
esa-cli project list # List all functions
esa-cli project delete <PROJECT_NAME> # Delete a function
Referência de comandos
|
Comando |
Descrição |
|
|
Inicializa um projeto a partir de um modelo ESA |
|
|
Inicia o serviço de depuração local |
|
|
Confirma o código do projeto na nuvem e o salva como uma versão |
|
|
Implanta uma versão em todos os POPs online |
|
|
Visualiza as implantações da versão atual ou exclui uma versão |
|
|
Lista todos os projetos de Functions and Pages ou exclui uma função |
|
|
Exibe informações sobre todos os sites da sua conta |
|
|
Gerencia nomes de domínio vinculados ao Functions and Pages |
|
|
Gerencia rotas vinculadas ao Functions and Pages |
|
|
Faz login usando um AccessKey ID e um AccessKey secret |
|
|
Faz logout |
|
|
Gerencia o arquivo de configuração da ESA CLI |
|
|
Seleciona o idioma de exibição da CLI |