TypeScript 是 JavaScript 的类型化超集,可编译为普通的 Apps 脚本。如果在开发 Apps 脚本项目时使用 TypeScript,您会获得以下好处:
本指南介绍了使用 TypeScript 开发 Apps 脚本项目的一些常见任务。
要求
如果您不熟悉 TypeScript,请先查看 TypeScript 文档和 TypeScript 快速入门,熟悉相关基本概念,然后再尝试本指南中所述的任何过程。
要在采用 clasp
的 Apps 脚本项目中使用 TypeScript,需要使用以下工具。虽然并不强制要求在 Apps 脚本中使用 TypeScript,但强烈建议使用 clasp
,因为它可以大大简化相关过程。
在尝试执行下述任何过程之前,请确保您已安装以下各项以启用本地开发环境:
- Node 和 npm
clasp
:npm install -g @google/clasp
- Apps 脚本的类型定义:
npm i -S @types/google-apps-script
- Visual Studio Code(用于 TypeScript IDE 自动补全功能)
如果您之前未使用过 clasp
,请务必熟悉 clasp
文档
。
在 Clasp 项目中使用 TypeScript
您可以使用 clasp
快速创建新的本地 Apps 脚本项目。此命令会创建 appsscript.json
和 Code.gs
(Apps 脚本项目的基础)。
如需在 App Script 文件中使用 TypeScript,只需将文件扩展名从 gs
重命名为 ts
即可。
修改本地 TypeScript 文件
使用首选编辑器,您可以将本地 TypeScript 文件编写为项目文件夹中的 .ts
文件。
例如,名为 index.ts
的文件可能包含以下 TypeScript 代码:
const greeter = (person: string) => {
return `Hello, ${person}!`;
}
let user = 'Grant';
Logger.log(greeter(user));
您可以使用 ES6+ 功能(例如箭头函数和字符串插值 (${var}
))编写 TypeScript。当您将项目推送到 Apps 脚本服务器时,这些文件会转译为 Apps 脚本结构。
上传使用 TypeScript 的本地 Apps 脚本项目
完成本地 TypeScript 和 Apps 脚本文件的修改后,您可以使用以下 clasp
命令将本地文件上传到 Google 云端硬盘:
clasp push --watch
此命令会监控 TypeScript 文件的更改,并使用 typescript
编译代码,并使用 clasp
将项目上传到 Google 云端硬盘。
报告问题或提交功能请求
如果您在使用 clasp
工具时遇到问题,可以在 GitHub 上报告。
如果您遇到 TypeScript 本身的问题或 bug,可以在 TypeScript 的 GitHub 代码库中报告。