我有大约 15-20 个 Google Apps 脚本项目,它们都使用相同的全局变量列表。
我所做的是在项目的第一个脚本文件的顶部定义所有全局变量,然后将代码块复制并粘贴到每个项目的相同位置。因此,如果我对一个进行了更改,我会将整个内容从那个复制并粘贴到其余的。这很耗时。
有更好的方法吗?是否使用 Libraries ?有人使用库来跨项目定义全局变量吗?
最佳答案
使用共享常量库是在 Google Apps 脚本之间共享常量对象的最有效方式。一些注意事项:
- 所有使用 ConstLib 的脚本都需要在“开发模式”打开的情况下执行此操作,否则您仍需要手动更新每个脚本。 (风险:保存有缺陷的 ConstLib 版本,您的所有脚本都会立即崩溃。)
常量是库的属性,因此需要使用库名来引用,例如
var log = SpreadsheetApp.openById( ConstLib.auditLogId );
在您现有的脚本中,您可能会发现将现有常量 block 更改为对 ConstLib 的引用很方便,因此您无需触及其余代码。例如
var auditLogId = ConstLib.auditLogId; . . . var log = SpreadsheetApp.openById( auditLogId );
例子
ConstLib
var roses = "Red", violets = "Blue";
使用 ConSTLib
function myFunction() {
Logger.log(ConstLib.roses);
Logger.log(ConstLib.violets);
}
记录输出
[14-10-09 14:51:47:258 EDT] Red
[14-10-09 14:51:47:259 EDT] Blue
关于javascript - 在 Google Apps 脚本中定义可跨多个项目使用的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26267948/