2013-05-17 2 views
0

Это мой файл JST образцаRequire.js JST файлы

(function() { 
    var _ref; 

    if ((_ref = window.JST) == null) { 
    window.JST = {}; 
    } 

window.JST['test'] = function(context) { 
    return (function() { 
    var $o; 

    $o = []; 
    $o.push("<h1>yayyyyyyaa</h1>"); 
    return $o.join("\n"); 
}).call(context); 
}; 

}).call(this); 

Я использую require.js в магистральном приложении, как

define ['backbone', 'marionette', 'text!javascripts/backbone/templates/test.jst'],  
(Backbone, Marionette, template) -> 

    class Test extends Backbone.Marionette.ItemView 
     template: JST[template] 

И когда я загрузить приложение, я получаю:

ReferenceError: JST is not defined 

Почему так!

Спасибо!

ответ

0

Проблема с вашим кодом заключается в том, что вы получаете текст функции в своей переменной «шаблон». Вам все равно нужно указать eval этот текст, чтобы создать реальный экземпляр JST в окне.

Проблема в том, что вы злоупотребляете текстом! плагин, вам действительно нужно использовать модули requireJs вместо зависания переменных в окне.

Смежные вопросы