Google Apps Script にまぶした Sugar.js は苦い
甘いJavaScriptプログラミングを求めて GAS に Sugar.js の導入を目論んだわけです。
サーバサイドでは、案外難なく使えるものです。
スクリプトファイルプロジェクト Sugar を作成し、スクリプトファイルSugar.gsを追加、そこにSugar.js をコピペして版を作成すればライブラリが完成。
あとはプログラム側で Sugarのプロジェクトキーをライブラリに登録するだけで動いてしまう。アマイ!
ところがクライアントサイドではそうもいかなかった。
さっきのSugar プロジェクトに、いつものようにHTMLファイルとして Sugar.js.html を作成して、scriptタグの間にSugar.js をコピペ、コード.gs に読み込み用のコードを追加します。
function include(output) { output.append( HtmlService.createHtmlOutputFromFile('sugar.js').getContent()); }
しかし、テストプログラムを実行すると無常のTypeErrorで動かない。
いわく、
TypeError: Cannot define property: SugarMethods, object is not extensible.
これはつまり、cajaではねられてしまうのですね。うーん、苦い。
Underscore.js ならばすんなり使えます。
G Suite Developers Blog: Using open-source libraries in Apps Script