我在Ember的一个项目中使用了Express,connect-assets。我坚持使用connect-assets来正确地预编译handlebar模板。
我对express进行了如下配置:
app.use(assets({
src: app_root + 'app',
buildDir: './public',
jsCompilers: {
hbs: hbsAssets
}
}));hbsAssets是:
module.exports = {
match: /\.js$/,
compileSync: function(sourcePath, source) {
var match = sourcePath.match(/^.*\/app\/js\/templates\/(.+)\.hbs/)
, templateName = match[1];
var filename = path.basename(sourcePath, '.hbs')
, js = handlebars.precompile(source).toString();
return 'Ember.TEMPLATES' + '["' + templateName + '"] = Handlebars.template(' + js + ');';
}
};问题是,只有hbs布局被渲染,而{{outlet}}没有被插入。
任何帮助都将不胜感激
发布于 2013-12-14 03:15:38
最后,我最终使用了https://npmjs.org/package/ember-template-compiler。它开箱即用。
https://stackoverflow.com/questions/20573005
复制相似问题