Всем спасибо!
После проб и ошибок, в этом проекте использовал
плагин к Requirejs на основе
Handlebars
Кому интересно, подключал примерно так (упрощенный код):
// index.js - settings
requirejs.config({
//....
"baseUrl": "js",
"paths": {
// .......
"hbs": "./vendors/require-handlebars-plugin/hbs"
},
// hbs settings
"hbs": {
disableI18n: true, // This disables the i18n helper and
// doesn't require the json i18n files (e.g. en_us.json)
// (false by default)
disableHelpers: false, // When true, won't look for and try to automatically load
// helpers (false by default)
helperPathCallback: // Callback to determine the path to look for helpers
function (name) { // ('/templates/helpers/'+name by default)
return 'app/templates/helpers/' + name;
},
templateExtension: "html" // ('hbs' by default) Set the extension automatically appended to templates
}
});
// View:
define(["hbs!app/templates/grid"], function(grid){
return {
render: function(dataModel){
grid(dataModel);
}
}
}
// Template "app/templates/grid" - grid.html
{{#each pages}}
<div class="table">
<div class="data-rows">
{{#each rows}}
<div class="row r{{index}} {{cssClass}}">
<div class="cabinet">{{formatRoom room}}</div>
<div class="speciality">{{spec}}</div>
<div class="fio">{{fio}}</div>
</div>
{{/each}}
<!-- //rows -->
</div>
</div>
{{/each}}
<!-- //pages-->