@Lomiren
Web-программист

Backbone requirejs Шаблоны после оптимизации node + r.js?

Здравствуйте. Продолжаю свои мучения с разработкой маленького фронт-энд приложения.

Теперь столкнулся с такой проблемой:


Backbone + requirejs + плагин для шаблонизации !text


Шаблонов достаточно много поэтому включать их в страницу не хочется !text очень хорошо с этим стправляется.


Но вот я решил попробовать все это закодить с помошью node и r.js после оптимизации шаблоны тоже сливаются в один файл.

Покопавшись в настройках я нашел нужный параметр который позволяет не включать текстовые зависимости:
//Inlines the text for any text! dependencies, to avoid the separate
    //async XMLHttpRequest calls to load those dependencies.
    inlineText: true,



Шаблоны теперь не включаются в общий файл, но и не работают: Error: Dynamic load not allowed.
build.js
{
    baseUrl: "f/app",
    appDir: "..",
    dir: "dist",
    modules: [
    {
        name: "catalog"
    }
    ],
    stubModules: ['text'],
    optimizeAllPluginResources: false,
    inlineText: false,
    paths: {
        app: '../libs',
        jquery: 'empty:',
        underscore: 'empty:',
        backbone: 'empty:',
        marionette: 'empty:',
        JSON: 'empty:',
        // Plugins
        text: '../libs/rjs-text',
    },
    exclude: ["jquery","underscore","backbone","marionette", 'JSON', 'text']
}


Никто не сталкивался? Или какие еще можно рассмотреть средства чтоб все же оставить возможность редактирования шаблонов, но и заоптимизировать скрипт?
  • Вопрос задан
  • 5088 просмотров
Пригласить эксперта
Ответы на вопрос 1
vermilion1
@vermilion1
github.com/gruntjs/grunt-contrib-jst

var JST = window.JST = window.JST || {};
var fetchTemplate = function (name) {
    var path = 'app/templates/' + name + '.html';
    if (!JST[path]) {
        $.ajax({
            url: path,
            async: false
        })
        .then(function (contents) {
            JST[path] = _.template(contents);
        });
    }
    return JST[path];
};


Во время разработки — XHR. Релиз — шаблоны складываются в один файл с помошью grunt-contrib-jst
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы