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