clasp - Apps 脚本 CLI

Apps 脚本 CLI(简称 clasp)是一款工具,可让您在本地创建、修改和部署 Apps 脚本项目。还可以从命令行创建和发布 Web 应用以及表格、文档、表单和幻灯片等产品的插件。您可以通过以下两种方式开发 Apps 脚本:使用 script.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 脚本项目
  • 如何克隆、拉取和推送现有项目
  • 如何管理脚本部署

下载 CLI

Apps 脚本 CLI (clasp) 需要安装 Node.js >= v6.0.0。点击此处安装 Node.js

获取节点后,在全局范围内安装 CLI(别名 clasp):

npm i @google/clasp -g

登录

我们来试试搭扣吧!您应该记住的唯一命令是 clasp

clasp

在开始使用命令行工具之前,我们必须先登录。运行以下命令:

clasp login

此时,系统会提示您登录 Google。您使用 CLI 创建的任何项目都会与此 Google 帐号相关联。

创建独立项目

首先,使用以下命令创建一个独立的 Google Apps 脚本项目:

mkdir clasp_codelab;
cd clasp_codelab;
clasp create --title "Clasp Codelab";

您刚刚在文件夹“clasp_codelab”中创建了一个 Apps 脚本项目!

(可选替代方案)克隆现有项目

我们来试着为 Google 幻灯片插件创建容器绑定脚本。

要执行此操作,请转到 slides.google.com 并创建新演示文稿。将演示文稿的名称更改为“clup Codelab Test”。在标题中,按工具下方的 Script Editor...

此操作会在 script.google.com 上打开您的 Apps 脚本项目。如需克隆项目,我们需要找到 Script ID。您可以依次转到 File > Project properties > Info > Script ID(此值也可在网址中找到)。复制该值并将其粘贴到以下命令中:

clasp clone <scriptID>

输出应如下所示...

现在,您已经在当前目录中下载了项目。使用您喜爱的编辑器查看 Code.gs(一个空函数)的内容。

修改 script.google.com 上的代码

现在,您可以克隆项目了,接下来让我们了解一下如何拉取和推送文件。我们将引导您通过 script.google.com 在云端编辑云端的步骤,并将本地拉取到您的计算机上。在云端打开脚本:

clasp open

既然我们已经使用在线编辑器,接下来我们将在线编辑一些代码,稍后我们将使用 clasp 提取这些代码。

在编辑器中,依次选择 File > New > Script file 以创建一个新文件。输入名称 utils/strings。在新创建的文件 utils/strings.gs 中,将代码替换为以下内容:

var world = "世界";

Code.gs 中,将现有代码替换为以下代码:

function hello() {
  Logger.log("Hello, " + world);
}

请务必保存所有文件。尝试按 Run > Run function > hello 运行函数。

转到 View > Logs 查看问候语。

在本地修改代码

让我们回到上一次克隆项目的命令行。您可能会注意到,我们的代码现在与在线编辑器不同步。要解决此问题,让我们从我们的在线项目中获取代码。

clasp pull

现在返回到代码部分。您应该可以看到我们的实用程序的文件夹clasp CLI 会自动将斜杠字符 / 转换为本地文件系统中的文件夹。

在您惯用的文本编辑器中,转到 util/strings.gs 并将变量名称 world 替换为 mondo。此外,将 world 替换为 mondo,以更新 Code.gs。如需更新 script.google.com 上更新后的代码,请推送修改后的代码。

clasp push

这样就大功告成了!您的代码现已于 script.google.com更新。

借助 clasp,您可以管理版本和部署。首先,我们来看一些词汇:

  • 版本:脚本项目的“快照”。版本可以被视为用于部署的只读分支。
  • 部署:脚本项目的已发布版本(通常是插件或 Web 应用)。需要版本号。

让我们创建脚本的一个版本:

clasp version "First version"

使用我们创建的记录的版本字符串代替 [version],我们可以部署该脚本:

clasp deploy 1 "First deployment"

clasp deploy 命令会查看您的清单,并创建有版本控制的部署。您的代码现在部署为可执行文件。如需了解详情,请参阅部署指南

我们希望 Apps 脚本 CLI 是一款可以帮助您管理 Apps 脚本项目的简单工具。

所学内容

  • 如何创建新的 Apps 脚本项目
  • 如何克隆、推送和拉取现有项目
  • 如何管理脚本部署

GitHub 上提供了 Clasp,欢迎使用新功能和补丁程序。

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