我已经很好地实现了 RequireJS,并且基于 Grunt 的构建过程将 JS 应用程序优化到一个文件中,通过r.js
它也可以正常工作。我所有的应用程序文件都连接成一个,以实现高效的生产部署。
优化还将我的r.js
所有模板也包含在主应用程序 JS 文件中,这对于应用程序启动时或之后很快需要的模板也非常有用。对于可能永远不会看到的视图,或者在应用程序生命周期的后期可能会看到,这并不是很好,如果这些模板根据需要异步加载会更好。
所以我的问题是,有没有办法任意排除我的模板被包含到单体应用程序 JS 文件中并由 RequireJS 异步加载,还是不支持?如果不支持异步加载模板有哪些方法?
我正在使用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
});
});