我正在使用requirejs创建一个Marionette Web应用程序。我重写了maronette视图渲染器以支持我的自定义模板对象:
Marionette.Renderer.render = function(template, data){
return template.render(data);
};
此配置对所有视图都是全局的。 我的问题是:放置此代码的最佳位置在哪里(和类似的配置一样 - 在主干中覆盖'sync'功能的例子)保持通过requirejs获得的模块性?
我能想到的选项是:
更好的方法是什么?
谢谢..
答案 0 :(得分:0)
使用require.config为模块提供配置。
您要求的不是配置问题。它更多的是关于如何扩展模块。
通过指定自定义模块,可以将库扩展为Marionette或Backbone。我建议为每个库编写一个模块。
define('myBackbone', ['vendor/backbone', 'vendor/underscore'], function(Backbone, _) {
Backbone.View.prototype.render = function() {
console.log('My Custom view');
}
// Or doing it the Backbone/Underscore way
//_.extend(Backbone.View.prototype, {
// render : function() {
// console.log('My Custom view')
// }
//});
return Backbone;
});
然后在模块中使用myBackbone。
define('myModule', ['myBackbone'], function(Backbone) {
return Backbone.View.extend({...});
});
顺便说一下。您可以创建abstract view并扩展您的观点,而不是使用您的应用程序逻辑扩展库。