Ember.js车把通过Gulp预编译

Ember.js车把通过Gulp预编译,ember.js,handlebars.js,gulp,Ember.js,Handlebars.js,Gulp,我正在通过插件为ember编译我的handlebar模板,该插件在浏览器中运行良好,但是一旦我将{{outlet}}引入模板结构,编译运行良好,但浏览器没有按预期呈现,它似乎无法正确解析outletSource。我已经看到了一些关于ember的HB编译问题的老问题,但是它们有点老了,我想知道是否有人成功地让它们工作 我相当肯定这是由于编译,如果我将模板移动到内联标记中,那么它将按预期工作 路由器配置: Todos.hbs: Todos/index.hbs: 演示: 这里有一个如何为ember编译

我正在通过插件为ember编译我的handlebar模板,该插件在浏览器中运行良好,但是一旦我将{{outlet}}引入模板结构,编译运行良好,但浏览器没有按预期呈现,它似乎无法正确解析outletSource。我已经看到了一些关于ember的HB编译问题的老问题,但是它们有点老了,我想知道是否有人成功地让它们工作

我相当肯定这是由于编译,如果我将模板移动到内联标记中,那么它将按预期工作

路由器配置:

Todos.hbs:

Todos/index.hbs:

演示:


这里有一个如何为ember编译模板的示例:

我使用了gulp-ember车把插件,但现在看来gulp车把也正式支持ember

主键似乎在使用特定的ember Handlebar编译器:

.pipe(handlebars({
  handlebars: require('ember-handlebars')
}))

我使用插件,它可以输出浏览器,amd,cjs和es6。然而,对于AMD来说,这是一个小问题,尽管我有一个解决方案,请看一下我的解决方案。

结果,构建脚本中的问题是我使用了

.pipe(wrap('Handlebars.template(<%= contents %>)'))
而不是

.pipe(wrap('Ember.Handlebars.template(<%= contents %>)'))

请发布你的路由器配置和相关的模板。看起来不错-我同意你的观点,这可能是你的构建有问题。
.pipe(handlebars({
  handlebars: require('ember-handlebars')
}))
.pipe(wrap('Handlebars.template(<%= contents %>)'))
.pipe(wrap('Ember.Handlebars.template(<%= contents %>)'))