全部產品
Search
文件中心

Edge Security Acceleration:函數和Pages CLI工具

更新時間:Feb 11, 2026

邊緣安全加速 ESA為您提供 CLI 工具,您可以通過 CLI 工具進行函數和Pages全生命週期管理、調試、多檔案功能部署等操作。

ESA CLI介紹

ESA CLI是ESA函數和Pages配套命令列工具,通過ESA CLI您可以完成如下任務。

  • 在本地完成函數和Pages全生命週期管理,包括函數和Pages建立、版本發布與部署、自訂網域名或路由管理等。

  • 在本地或內網環境完成函數調試。CLI支援啟動本地調試服務,類比線上環境進行功能測試。

  • 支援多檔案工程的部署。CLI將自動完成npm等專案依賴檔案的打包構建,允許您將本地Node.js專案部署在雲上。

常用命令

ESA CLI提供眾多命令用來進行函數和Pages管理。全部指令詳情可參考:https://github.com/aliyun/alibabacloud-esa-cli

命令

說明

init

選擇ESA提供的模板完成專案初始化

dev

自動啟動本地調試服務

commit

提交專案代碼至雲上,並將其儲存為一個版本

deploy

將某個版本部署在所有線上邊緣節點

deployments

查看當前的版本部署情況,或刪除某個版本

project

查看所有函數和Pages,或刪除某個函數

site

查看賬戶下所有網站資訊

domain

管理綁定到函數和Pages的網域名稱

route

管理綁定到函數和Pages的路由

login

使用 AK/SK 完成帳號登入

logout

登出登入

config

管理ESA CLI 的設定檔

lang

選擇ESA CLI 的語言

前提條件

在安裝ESA CLI之前,請確保您已安裝 Node.js 和 npm。建議優先使用 Volta 或 nvm 等 Node 版本管理器進行安裝。

使用ESA CLI

  1. 使用npm完成ESA CLI 的安裝,並查看 CLI 的版本和支援的命令。

    npm install esa-cli -g    # 全域安裝CLI
    esa-cli -v                    # 查看CLI版本
    esa-cli --help                # 查看CLI命令
  2. 帳號登入:首先訪問阿里雲RAM控制台擷取您的AccessKey IDAccessKey Secret,再執行esa login完成帳號登入。如果您只是通過 CLI 在本地進行代碼調試,則不需要進行帳號登入。

    esa-cli login        # 登入
    esa-cli logout       # 登出
  3. 專案初始化:包括填寫專案名稱、選擇模板等,可根據初始化命令引導完成整個流程。

    esa-cli init
  4. 本地調試:完成代碼後,可以通過 CLI 進行代碼本地調試。執行esa-cli dev指令後,會自動打包入口檔案,並啟動本地調試服務。

    基本使用方法:

    • 在介面上按 b 即可在瀏覽器中開啟調試頁面。

    • 在介面上按 d 可以查看調試引導。注意:Chrome 不允許命令列開啟調試頁面。在 Chrome 瀏覽器中開啟 Chrome://inspect#devices 頁面,可以看到一個啟動並執行Remote Target,點擊下面的inspect即可查看 console 資訊。注意,EdgeRoutine 的代碼為服務端代碼,所以預覽頁面的控制台並不會輸出入口檔案中的 console,只能通過inspect調試。

    • 在介面上按 c 可以清空面板。

    • 在介面上按 x 可以退出調試。

    • 可以用 esa-cli dev --port <port> 臨時指定連接埠。

    本地調試時,也可以運行代碼中的邊緣儲存APICache API

    說明

    為了線上資料安全,邊緣儲存服務在本地調試時不會擷取和設定線上資料。如果需要在本地進行資料類比,可以使用下面的方法:在函數專案根目錄(與設定檔esa.jsonc同級),建立kv.json檔案,按照下面的格式寫入資料:

    {
      "namespace": {
        "k1": "v1",
        "k2": "v2"
        }
    }

    此時下面的代碼可擷取到類比資料:

    const edgeKv = new EdgeKV({ namespace: 'namespace' });
    async function run() {
     const data = await edgeKv.get('k1', { type: 'text' });
     console.log(data); // 'v1'
    }
  1. 版本產生:在本地調試完成後,需要產生一個代碼版本用於部署。

    esa-cli commit      # 產生版本
  2. 線上部署:當版本產生後,需要使用部署相關的指令,將版本部署至公用雲端邊緣節點。

    esa-cli deploy                          # 根據提示選擇版本、目標環境即可部署
    esa-cli deployments list                # 查看部署情況
    esa-cli deployments delete <versionId>  # 刪除指定版本
  3. 管理自訂網域名或路由

    當被部署到節點後,您可以配置自訂網域名或路由,以訪問您的函數和Pages

    1. 網域名稱:為您的函數和Pages綁定網域名稱,該網域名稱必須是您ESA網站的子網域名稱,您可以通過網域名稱直接存取到該函數,此時函數和Pages將作為該網域名稱的來源站點。

    2. 路由:為您的ESA網站綁定路由,訪問該路由可觸發函數和Pages執行,此時函數和Pages可以和網站的來源站點進行通訊。

    # 網域名稱
    esa-cli domain list
    esa-cli domain add <domainName>     # 需要是您的已備案網域名稱
    esa-cli domain delete <domainName>
    
    # 路由
    esa-cli route list
    esa-cli route add [route] [site]
    esa-cli route delete <route>
  4. 管理函數:可以通過 CLI 查看、刪除函數。

    esa-cli project list                  # 查看函數
    esa-cli project delete <PROJECT_NAME>   # 刪除函數