2014-08-27 38 views
1

我正在通過gulp-handlebars插件編譯我的手柄模板,它在瀏覽器中工作正常,但是一旦我將{{outlet}} s引入到模板結構中,編譯運行正常,但瀏覽器不會沒有達到預期效果,似乎在正確解決outletSource問題上遇到了麻煩。我已經看到了一些舊的SO問題,這些問題將HB編譯爲燼問題,但他們有點老,並且想知道是否有人成功地讓他們工作。Ember.js通過Gulp預編譯的手柄

我相當肯定這是由於編譯,如果我移動模板導入內嵌然後<script>標籤如期工作

路由器配置:

window.Todos = Ember.Application.create(); 

Todos.ApplicationAdapter = DS.FixtureAdapter.extend(); 

Todos.Router.map(function() { 
    this.resource('todos', { path: '/' }, function() { }); 
}); 

Todos.TodosRoute = Ember.Route.extend({ 
    model: function() { 
    return this.store.find('todo'); 
    } 
}); 

Todos.TodosIndexRoute = Ember.Route.extend({ 
    model: function() { 
    return this.modelFor('todos'); 
    } 
}); 

Todos.hbs:

<section id="main"> 
    {{outlet}} 

    <input type="checkbox" id="toggle-all"> 
</section> 

待辦事項S/index.hbs:

<!-- random html --> 

演示:

JSFiddle

+0

請發表您的路由器配置和範本中的相關位。 – 2014-08-27 21:41:56

+0

@SteveH。更新 – Psytronic 2014-08-28 05:56:14

+0

看起來不錯 - 我同意你的看法,這可能是你的構建問題。 – 2014-08-29 14:18:14

回答

0

原來在構建腳本的問題是,我用

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

而且不

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

我用gulp-ember-templates插件,它可以爲瀏覽器輸出,AMD,CJS和ES6。但它對於AMD來說有點小問題,不過我有一個解決方法,看看我的task