clasp - Apps Script CLI

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>

输出应如下所示...

4e3b128f4dcf6467.gif

现在,您已经将项目下载到当前目录中。使用您喜爱的编辑器查看 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 中提供,欢迎使用新功能和补丁。

我们迫不及待要一睹您的应用程序了!