我在Ember 项目中使用 Express连接资产。我坚持connect-assets
要正确预编译车把模板。
我已经像这样配置了快递:
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}}
s 没有被插入。
任何帮助,将不胜感激