我有大约15-20个Google Apps脚本项目,它们都使用相同的全局变量列表。
我所做的是定义项目中第一个脚本文件顶部的所有全局变量,然后将代码块复制并粘贴到每个项目的同一位置。因此,如果我在其中进行更改,我会将整个内容复制并粘贴到其余内容中。这很费时间。
有更好的方法吗?是否使用Libraries?有没有人使用库来跨项目定义全局变量?
答案 0 :(得分:8)
将库用于共享常量是在Google Apps脚本之间共享常量对象的最有效方法。一些警告:
常量是库的属性,因此需要使用库名称来引用,例如
var log = SpreadsheetApp.openById( ConstLib.auditLogId );
在现有脚本中,您可能会发现将现有常量块更改为对ConstLib的引用很方便,因此您不需要触及剩余的代码。 e.g。
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