2013-02-25 72 views
4

我的RequireJS實現的很好,並且基於Grunt的構建過程通過r.js將JS應用優化爲一個文件,這也正常工作。我的所有應用程序文件都連接成一個用於高效生產部署。從RequireJS的r.js優化中排除任意文件並加載它們async

r.js優化也包括我的所有模板到主應用JS文件也是如此,這也是偉大的,將盡快需要作爲應用程序啓動時,或者很快之後的模板。對於可能永遠不會看到的視圖,或者在應用生命週期中稍後會看到的視圖來說,這並不是太好,如果這些模板按需要加載異步會更好。

所以我的問題是這樣的,有沒有辦法任意排除我的模板被包含到單片應用程序的JS文件中,並通過RequireJS加載異步,或者不支持?如果不支持什麼方法在async中加載模板?

我使用tpl文本模板插件和Backbone.Marionette。我的模板使用目前看起來有點像這樣:

define(function (require) { 

    var Backbone = require("backbone"); 

    var tpl = require("tpl!./some-view-template.tpl"); 

    return Backbone.Marionette.ItemView.extend({ 
     template: tpl 
    }); 
}); 

回答