2013-06-24 6 views
2

Мне интересно, можно ли использовать RequireJS с помощью Google Apps Script. Я загружаю RequireJS 2.1.5 из библиотеки GAS. Это примерное приложение должно записывать слово Monkey, но ничего не происходит, когда я его тестирую. Ошибок и предупреждений не генерируется.RequireJS с Google Apps Script

index.html:

<!doctype html> 
<head> 
    <title></title> 
</head> 
<body> 
    <script data-main="main" src="http://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.5/require.js"></script> 
</body> 
</html> 

main.gs:

var define = Require.loadDefine(); 
var require = Require.loadRequire(); 

define(function() { 
    Logger.log("Monkey"); 
}); 

code.gs:

function doGet(e) { 
    Logger.log("doGet"); 
    return HtmlService.createHtmlOutputFromFile('index').setSandboxMode(HtmlService.SandboxMode.NATIVE); 

    var t; 
    t = HtmlService.createTemplateFromFile('index'); 
    return t.evaluate(); 
} 
+0

Вы только определяете модуль. Вы не нуждаетесь в модуле, поэтому фабричная функция модуля еще не будет выполнена. –

+0

Вы проверили, что в веб-приложении нет ошибок (F12 в Chrome и IE)? У меня такое ощущение, что ваш html не знает, где найти «главное» после того, как [Cajoling of Caja] (https://code.google.com/p/google-caja/) был завершен выходом HTML-сервиса , – fooby

ответ

2

Я нашел ответ, читая JavaScript Module Pattern: In-Depth

Кодекса внутри модуль не имел доступа к Logger. Передача этого параметра приводит к его работе.

define(function(g) { 
    g.Logger.log("Monkey"); 
}(this));