【发布时间】:2013-12-04 10:58:31
【问题描述】:
我正在尝试将预编译的 Mustache 模板合并到我的构建过程中。我正在使用 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'
我在编译模板时做错了吗?包装函数时我做错了吗?该函数是否需要存在于全局范围内?
【问题讨论】:
标签: javascript node.js requirejs mustache hogan.js