Я пытаюсь включить precompiling мои шаблоны Mustache в мой процесс сборки. Я использую AMD для организации кода, поэтому я хотел бы объединить мои скомпилированные функции в модули.Как перенести предварительно скомпилированный шаблон hogan.js в модуль AMD?
Я пытаюсь сделать следующее:
var fs = require('fs');
fs.readFile('template.html', 'utf-8', function(err, data){
function wrap(fnString){
var pre = 'define(function(){return ';
var post = '});';
return pre + fnString + post;
}
var hogan = require('hogan.js');
var compiledFn = hogan.compile(data, {asString: true});
fs.writeFile('template.js', wrap(compiledFn), function(){console.log('written template module')});
});
Когда я пытаюсь потреблять экспортируемую функцию в моем приложении я получаю сообщение об ошибке, хотя:
Uncaught TypeError: Object [object global] has no method 'b'
Я делаю что-то неправильно, когда компиляция шаблона? Я делаю что-то неправильно при обертке функции? Должна ли функция жить в глобальном масштабе?