Backbone: v1.3.2 backbone.js и backbone-min.js - это не одно и то же

Созданный на 22 мар. 2016  ·  7Комментарии  ·  Источник: jashkenas/backbone

Минифицированная версия 1.3.2, похоже, не включает
https://github.com/jashkenas/backbone/commit/1db79ddd33f65e4ca93beb3174496cf148baebe5
в то время как неминфицированная версия делает.

Unminified

Events.once = function(name, callback, context) {
    // Map the event into a `{event: once}` object.
    var events = eventsApi(onceMap, {}, name, callback, _.bind(this.off, this));
    if (typeof name === 'string' && context == null) callback = void 0;
    return this.on(events, callback, context);
  };

Минифицированный

l.once=function(t,e,r){
  var n=f(p,{},t,e,i.bind(this.off,this));
  return this.on(n,e,r)
}

@jridgewell @megawac

Все 7 Комментарий

Я подтвердил, что тесты, связанные с этим, не работают, когда вы заменяете backbone.js на backbone-min.js в test / index.html.

Вздох. @megawac , можешь ли ты создать PR v1.3.3, раз уж я не понимаю?

Я только что предложил https://github.com/jashkenas/backbone/pull/3994
Я подумал об изменении файла index.html для использования уменьшенной версии, но не был уверен, что все будут собирать его перед тестированием.

будет ли в ближайшее время мини-магистраль v1.3.x, совместимая с марионетками? еще не существует afaik

1.3.2 работает с Марионеткой 2.4.5 @elgubenis

На самом деле, у составных представлений Mn 2.4.5 есть проблема с минимизированной магистралью 1.3.2, вот как я обнаружил эту проблему с самого начала.

CollectionViews связываются через один раз
this.once('render', this._initialEvents);
https://github.com/marionettejs/backbone.marionette/blob/master/src/collection-view.js#L25

Составные представления, расширяющие CollectionView
иметь _initialEvents, которые начинаются с if (this.collection) {
https://github.com/marionettejs/backbone.marionette/blob/master/src/composite-view.js#L23
в этот момент контекст this теряется (из-за необходимости исправления https://github.com/jashkenas/backbone/commit/1db79ddd33f65e4ca93beb3174496cf148baebe5), поэтому this.collection является ложным и поэтому не запускается надлежащее прослушивание событий сбора

Поэтому будьте осторожны, если вы используете CollectionView или CompositeView, для которых перед рендерингом установлена ​​коллекция.

Хорошо, да, мы должны переиздать версию с обновленным минифицированным файлом, но файл backbone.js на главном сервере должен работать с 2.4.5. (скоро опубликуем)

Была ли эта страница полезной?
0 / 5 - 0 рейтинги