这甚至可能吗?继续阅读相互矛盾的报告。
我有一个Marionette应用程序,刚升级到2.4.4。
如果我用lodash代替下划线 - 使用requireJS,
map: {
'*': {
'underscore': 'lodash'
}
},
// 'underscore':'/resource/vendor/backbone.marionette/underscore',
'lodash':'/resource/vendor/lodash/lodash.min',
我收到以下错误...
Uncaught TypeError: Cannot read property 'vent' of undefined
lodash正在加载,只是牵牛花正在抱怨。
似乎this
行上下文466
未定义
463 _proxyMethods: function() {
464 _.each([ "vent", "commands", "reqres" ], function(system) {
465 _.each(messageSystems[system], function(method) {
466 this[system][method] = proxyMethod(this, system, method);
467 }, this);
468 }, this);
469 }
有什么建议吗?
答案 0 :(得分:8)
对于其他任何看过这个问题的人来说,答案是肯定的。
Lodash 3.10.1
没问题,但4.x
版本已删除许多功能中的context
选项,这会打破Marionette
。
旧的方式是
_.each(collection, iteratee, context);
新方法是
_.each(collection, _.bind(iteratee, context));
但到目前为止,使用上面的requireJS设置3.10.1
非常好。
因此,在更新Marionette
之前,您必须暂停4.x