Я хотел бы написать сценарии Javascript для Google Apps Script с использованием CoffeeScript, и у меня возникли проблемы при создании функций в ожидаемой форме.
Google Apps Script ожидает, что скрипт будет содержать именованные функции верхнего уровня. (Возможно, я использую неправильную терминологию, поэтому я проиллюстрирую, что я имею в виду, с помощью примеров ...)
Например, эта функция успешно распознается скриптом Google Apps:
function triggerableFunction() {
// ...
}
... пока этой функции нет (она будет анализироваться, но вы не сможете ее запустить):
var nonTriggerableFunction;
nonTriggerableFunction = function() {
// ...
};
Я обнаружил, что с CoffeeScript ближе всего я могу получить форму nonTriggerableFunction
выше. Каков наилучший подход к генерации именованной функции, такой как triggerableFunction
выше?
Я уже использую опцию 'bare' (переключатель -b
), чтобы скомпилировать
без защитной оболочки функции верхнего уровня.
Единственный проект, который я нашел в Интернете, который объединяет CoffeeScript и Google App Script, - это Gmail GTD Bot , который, кажется, делает это с помощью комбинации обратных тиков и с помощью вручную удалить некоторые строки из полученного кода. (См. Конец сценария и раздел «Установка» в README ). Я надеюсь на более простое и чистое решение.