1. 简介
借助 Apps 脚本 CLI(即 clasp
)工具,您可以在本地创建、修改和部署 Apps 脚本项目。它可让您通过命令行创建和发布 Web 应用以及表格、文档、表单和幻灯片等产品的插件。开发 Apps 脚本的方法有两种:使用 console.google.com,或者在计算机上本地运行。对于后者,我们将学习如何使用 Apps 脚本的命令行工具 clasp
。
功能
- 在本地开发。
clasp
可让您在自己的计算机上编写代码,并在完成后将其上传到 Apps 脚本中。您也可以下载现有的 Apps 脚本项目,然后在本地进行修改。将代码保存到本地后,您就可以使用自己喜爱的开发工具(如 git)来处理 Apps 脚本项目。 - 管理部署版本。创建、更新和查看项目的多个部署。
- 结构代码。
clasp
会自动将您在 script.google.com 上的平面项目转换为文件夹。例如:
# On script.google.com:
├── tests/slides.gs
└── tests/sheets.gs
# Locally:
├── tests/
│ ├─ slides.gs
│ └─ sheets.gs
学习内容
此 Codelab 将向您介绍如何使用 clasp
完成 3 个关键 activity:
- 如何创建新的 Apps 脚本项目
- 如何克隆、拉取和推送现有项目
- 如何管理脚本的部署
2. 使用入门
下载 CLI
要使用 Apps Script CLI (clasp
),必须安装 Node.js(或更高版本)v6.0.0。在此处安装 Node.js。
拥有 Node 后,在全球范围内安装 CLI(别名 clasp):
npm i @google/clasp -g
3. 登录
登录
我们来试试扣环吧!您应该记住的唯一一个命令是 clasp
。
clasp
在开始使用命令行工具之前,我们必须先登录。运行以下命令:
clasp login
或者,如果使用 SSH:
clasp login --no-localhost
此时,系统会提示您登录 Google。您使用 CLI 创建的所有项目都与此 Google 账号相关联。
4. 创建新项目
创建独立项目
首先,使用以下命令创建一个独立的 Google Apps 脚本项目:
mkdir clasp_codelab;
cd clasp_codelab;
clasp create --title "Clasp Codelab" --type standalone;
您刚刚在文件夹“clasp_codelab”中创建了一个 Apps 脚本项目!
(可选替代方案)克隆现有项目
我们来试试为 Google 幻灯片插件创建绑定容器的脚本吧。
要执行此操作,请转到 slides.google.com 并创建新的演示文稿。将演示文稿名称更改为“clasp Codelab Test”。在标题栏中的工具下,按脚本编辑器...。
系统随即会在 script.google.com 上打开您的 Apps 脚本项目。如需克隆项目,我们需要 Script ID
。您可以在 Apps 脚本项目网址中 /projects/
之后找到此 ID。复制该值并将其粘贴到以下命令中:
clasp clone <scriptID>
输出应如下所示...
现在,您已经将项目下载到当前目录中。使用您喜爱的编辑器查看 Code.gs
(空函数)的内容。
5. 拉取和推送文件
在 script.google.com 上修改代码
现在,您已经能够克隆项目了,接下来我们将学习如何拉取和推送文件。我们将引导您完成通过 script.google.com
在云端修改和拉取到本地计算机的步骤。让我们在云端打开脚本:
clasp open
现在,我们使用的是在线编辑器,接下来我们将在线修改一些代码,稍后使用 clasp
提取这些代码。
要创建新的 Apps 脚本文件,请在编辑器左侧的 Files 旁边,点击“Add a file”图标 >脚本。输入名称 utils/strings
。在新创建的文件 utils/strings.gs
中,将代码替换为以下代码:
var world = "世界";
在 Code.gs
中,将现有代码替换为以下代码:
function hello() {
Logger.log("Hello, " + world);
}
点击顶部的“保存”图标 。
如需运行该函数,请在编辑器顶部,从函数下拉列表中选择 hello
,然后点击 Run。
问候语将显示在执行日志的底部。
在本地修改代码
让我们回到上次克隆项目的命令行。您可能会注意到,我们的代码现在与在线编辑器不同步。要解决此问题,让我们从在线项目中拉取代码。
clasp pull
现在请返回到代码中。您应该会发现我们的 utils 有一个文件夹。clasp
CLI 会自动将斜杠字符 /
转换为本地文件系统中的文件夹。
在您喜爱的文本编辑器中,导航到 util/strings.gs
,并将变量名称 world
替换成 mondo
。此外,还要更新 Code.gs,方法是将 world
替换成 mondo
。如需更新 script.google.com
中更新后的代码,请推送修改后的代码。
clasp push
这样就大功告成了!您的代码现已在 script.google.com
上更新。
6. 版本控制和部署
clasp
可用于管理版本和部署。首先是一些词汇:
- 版本:“快照”一个脚本项目的角色。版本可以被视为用于部署的只读分支。
- 部署:脚本项目的已发布版本(通常作为插件或 Web 应用)。需要版本号。
我们来创建一个脚本版本:
clasp version "First version"
使用我们创建的记录版本字符串来代替 [version]
,我们可以部署脚本:
clasp deploy 1 "First deployment"
clasp deploy
命令会查看您的清单并创建新的版本化部署。您的代码现已部署为可执行文件。如需了解详情,请参阅部署指南。
7. 大功告成!
我们希望 Apps 脚本 CLI 是帮助您管理 Apps 脚本项目的简单工具。
所学内容
- 如何创建新的 Apps 脚本项目
- 如何克隆、推送和拉取现有项目
- 如何管理脚本的部署
Clasp 在 GitHub 中提供,欢迎使用新功能和补丁。
我们迫不及待要一睹您的应用程序了!