esa-cli
Version:
A CLI for operating Alibaba Cloud ESA Functions and Pages.
400 lines (248 loc) • 7.08 kB
Markdown
## ESA CLI 命令
**ESA CLI 提供多种命令来管理您的阿里云 ESA Functions & Pages。**
**init** - 从各种 Web 框架和模板创建新项目。
**dev** - 启动本地开发服务器。
**commit** - 提交代码并保存为新版本。
**deploy** - 将您的 Functions & Pages 部署到阿里云。
**deployments** - 管理您的部署和版本。
**project** - 管理您的 Functions & Pages 项目。
**site** - 列出您已激活的站点。
**domain** - 管理您的 Functions & Pages 的域名绑定。
**route** - 管理您的 Functions & Pages 的路由绑定。
**login** - 使用您的阿里云账户授权 ESA CLI。
**logout** - 移除 ESA CLI 访问您账户的授权。
**config** - 修改您的本地或全局配置。
**lang** - 设置 CLI 的语言。
### 如何运行 ESA CLI 命令
**如果你是通过全局安装的esa-cli,如果需要运行请参考以下命令**
**安装方式**
```
npm i esa-cli@latest -g
```
**执行命令**
```
esa-cli <COMMAND> <SUBCOMMAND> [PARAMETERS] [OPTIONS]
```
---
**如果你是在项目中本地安装 ESA CLI(而不是全局安装),运行 ESA CLI 的方式将取决于您的具体设置和包管理器。**
```
npx esa-cli <COMMAND> <SUBCOMMAND> [PARAMETERS] [OPTIONS]
```
**您可以将经常使用的 ESA CLI 命令添加为项目 package.json 文件中的脚本:**
```
{
...
"scripts": {
"deploy": "esa-cli deploy",
"dev": "esa-cli dev"
}
...
}
```
**然后您可以使用您选择的包管理器运行它们:**
```
npm run deploy
```
---
## init
**通过模板创建新项目。可选择各种 Web 框架和模板。默认安装依赖项,可选择立即部署您的项目。**
```
esa-cli init [<NAME>] [OPTIONS]
```
**NAME** _可选(默认:工作目录名称)_
**Functions & Pages 项目的名称。这既是目录名称,也是生成的 ESA CLI 配置中的 name 属性。**
**--framework, -f** _可选_
**选择前端框架(react/vue/nextjs...)**
**--language, -l** _可选_
**选择编程语言(typescript/javascript)。可选:typescript | javascript**
**--template, -t** _可选_
**指定模板名称**
**--yes, -y** _可选_
**对所有交互询问选择"是"(默认 false),模版采用helloworld**
**--git** _可选_
**在项目中初始化 git**
**--deploy** _可选_
**初始化完成后自动部署**
---
## dev
**启动本地开发服务器。**
```
esa-cli dev [<ENTRY>] [OPTIONS]
```
**ENTRY** _可选_
**函数和Pages入口文件**
**--port, -p** _可选_
**监听端口**
**--minify, -m** _可选_
**开发模式下压缩代码(默认 false)**
**--refresh-command** _可选_
**保存自动刷新前执行的命令**
**--local-upstream** _可选_
**在本地开发中作为源站的主机**
**--debug** _可选_
**输出调试日志(默认 false)**
---
## commit
**提交代码并保存为新版本。**
```
esa-cli commit [<ENTRY>] [OPTIONS]
```
**ENTRY** _可选_
**函数和Pages入口文件**
**--minify, -m** _可选_
**提交前压缩代码(默认 false)**
**--assets, -a** _可选_
**静态资源目录**
**--description, -d** _可选_
**版本/例程描述(跳过交互输入)**
**--name, -n** _可选_
**函数和Pages名称**
---
## deploy
**生成一个代码版本,并同时部署项目到仿真和线上环境。**
```
esa-cli deploy [<ENTRY>] [OPTIONS]
```
**ENTRY** _可选_
**函数和Pages入口文件,默认以 `esa.jsonc`中entry配置为准**
**--version, -v** _可选_
**指定要部署的版本(跳过交互选择)**
**--environment, -e** _可选_
**部署环境。可选:staging | production**
**--name, -n** _可选_
**函数和Pages名称**
**--assets, -a** _可选_
**静态资源目录(例如:./dist)**
**--description, -d** _可选_
**版本描述**
**--minify, -m** _可选_
**是否压缩代码**
---
## deployments
**管理您的部署和版本。**
### deployments list
**列出当前函数和Pages下所有代码版本。**
```
esa-cli deployments list
```
### deployments delete
**删除当前函数和Pages的一个或多个代码版本。**
```
esa-cli deployments delete [<DEPLOYMENT_ID>...] [OPTIONS]
```
**DEPLOYMENT_ID** _必需_
**要删除的部署版本ID(可一次传多个)**
---
## project
**管理您的 Functions & Pages 项目。**
### project list
**列出账号下所有的函数和Pages。**
```
esa-cli project list
```
### project delete
**删除指定函数和Pages。**
```
esa-cli project delete <PROJECT_NAME> [OPTIONS]
```
**PROJECT_NAME** _必需_
**要删除的函数或Pages名称**
---
## site
**列出您已激活的站点。**
### site list
**列出账号下所有已激活站点。**
```
esa-cli site list
```
---
## domain
**管理您的 Functions & Pages 的域名绑定。**
### domain add
**绑定域名到当前函数和Pages。**
```
esa-cli domain add <DOMAIN> [OPTIONS]
```
**只有在该账号下激活的站点才能绑定**
**DOMAIN** _必需_
**要绑定的域名(在该账号站点下已激活)**
### domain list
**查看当前函数和Pages所有已绑定域名。**
```
esa-cli domain list
```
### domain delete
**删除当前函数和Pages下已绑定域名。**
```
esa-cli domain delete <DOMAIN> [OPTIONS]
```
**DOMAIN** _必需_
**要删除绑定的域名**
---
## route
**管理您的 Functions & Pages 的路由绑定。**
### route add
**为当前函数和Pages绑定一个路由。**
```
esa-cli route add [<ROUTE>] [<SITE>] [OPTIONS]
```
**ROUTE** _可选_
**路由值,例如:example.com/_ 或 _.example.com/\***
**SITE** _可选_
**站点名称,例如:example.com**
**只有在该账号下激活的站点才能绑定**
**--route, -r** _可选_
**路由值,例如:example.com/\***
- **主机名支持以 `*` 开头表示后缀匹配(如:`*.example.com`)**
- **路径支持以 `*` 结尾表示前缀匹配(如:`/api/*`)**
**--site, -s** _可选_
**站点名称(需为账户下已激活站点)**
**--alias, -a** _可选_
**路由名称(别名)例如:apple、orange等**
### route list
**查看当前函数和Pages下所有已绑定路由。**
```
esa-cli route list
```
### route delete
**删除函数和Pages下已绑定路由。**
```
esa-cli route delete <ROUTE_NAME> [OPTIONS]
```
**ROUTE_NAME** _必需_
**要删除的路由名称**
---
## login
**使用您的阿里云账户授权 ESA CLI。**
```
esa-cli login [OPTIONS]
```
**--access-key-id, --ak** _可选_
**AccessKey ID (AK)**
**--access-key-secret, --sk** _可选_
**AccessKey Secret (SK)**
**环境变量** _从环境变量中读取:_
- **ESA_ACCESS_KEY_ID**
- **ESA_ACCESS_KEY_SECRET**
---
## logout
**移除 ESA CLI 访问您账户的授权。**
```
esa-cli logout
```
---
## config
**修改您的本地或全局配置。**
```
esa-cli config [OPTIONS]
```
**--local, -l** _可选_
**编辑本地配置文件(默认 false)**
**--global, -g** _可选_
**编辑全局配置文件(默认 false)**
---
## lang
**设置 CLI 的语言。**
```
esa-cli lang
```