Size: a a a

2020 September 29

Р

Роман in БЭМ
Vladimir Grinenko
поддержу Романа — подробного описания нет, есть лишь примеры в bem-components (
Я не из Яндекса, так что моё утверждение было лишь догадкой — ответ «из команды» гораздо релевантнее 👍
источник
2020 September 30

И

Ильдар in БЭМ
Здравствуйте, больше наверное не про бэм, как в bem express красиво сделать изменение путей до скрипов после ребилда во фронте что бы у пользователей сбросить их кэш?
источник

Р

Роман in БЭМ
Ильдар
Здравствуйте, больше наверное не про бэм, как в bem express красиво сделать изменение путей до скрипов после ребилда во фронте что бы у пользователей сбросить их кэш?
Добавь в <УРЛ к стилям / скриптам> какую-то строку из «внешнего мира» (из админки), который будет меняться, когда ты в этой самой админке нажимаешь «Сбросить всем кэш».
источник

И

Ильдар in БЭМ
Роман
Добавь в <УРЛ к стилям / скриптам> какую-то строку из «внешнего мира» (из админки), который будет меняться, когда ты в этой самой админке нажимаешь «Сбросить всем кэш».
хорошая идея, спасибо
источник

Р

Роман in БЭМ
Роман
Добавь в <УРЛ к стилям / скриптам> какую-то строку из «внешнего мира» (из админки), который будет меняться, когда ты в этой самой админке нажимаешь «Сбросить всем кэш».
Вызывайте Кракена Сбросить кэш!
источник

И

Ильдар in БЭМ
Роман
Вызывайте Кракена Сбросить кэш!
оказалось что не все стучится в бэкенд, нужно что-то на фронте придумать
источник

Р

Роман in БЭМ
Но страница у тебя изначально-то с express-сервера отдаётся. Вот прямо в root-блоке и делаешь…
источник

И

Ильдар in БЭМ
Роман
Но страница у тебя изначально-то с express-сервера отдаётся. Вот прямо в root-блоке и делаешь…
знаю где сделать, но есть страницы которые с бэком не связаны поэтому я не могу передать что-то из бэка для сброса. мне нужно на стороне экспресса что-то
источник

И

Ильдар in БЭМ
в идеале после коммита что-то должно генерить рандомную строку которую я бы мог использовать. ок покопаю
источник

РН

Роман Назаркин... in БЭМ
Ильдар
в идеале после коммита что-то должно генерить рандомную строку которую я бы мог использовать. ок покопаю
Хеш последнего коммита можно использовать, например
источник

И

Ильдар in БЭМ
Роман Назаркин
Хеш последнего коммита можно использовать, например
Хорошая идея. Достаточно будет просто как параметр к статике добавить или лучше в путь?
источник

РН

Роман Назаркин... in БЭМ
Здесь как удобнее, работать будет в обоих случаях
источник

Р

Роман in БЭМ
Начали за БЭМ, кончили — за упокой CI / CD…

Простите… )))
источник
2020 October 01

EB

Evgeniy Baranov in БЭМ
Всем привет! Прошу помощи.
На bem-core@4.2.1 блоки с примешаным миксином как то странно инитятся. У них нет this.domElem,  this.find* методов. Убираю миксин - работает. Притом что блоки и миксины разные, проблема одна и та же.
Может кто то уже сталкивался?
источник

SB

Sergey Berezhnoy in БЭМ
Evgeniy Baranov
Всем привет! Прошу помощи.
На bem-core@4.2.1 блоки с примешаным миксином как то странно инитятся. У них нет this.domElem,  this.find* методов. Убираю миксин - работает. Притом что блоки и миксины разные, проблема одна и та же.
Может кто то уже сталкивался?
звучит подозрительно 🧐 там нет ничего такого в самом миксине? может есть короткий пример с воспроизведением?
источник

EB

Evgeniy Baranov in БЭМ
Sergey Berezhnoy
звучит подозрительно 🧐 там нет ничего такого в самом миксине? может есть короткий пример с воспроизведением?
Кажется нашел причину. Один из миксинов был объявлен bem.declMixin но использовался как для bem так и для bemDom блоков. На старых версиях bem-core это работало.
источник

EB

Evgeniy Baranov in БЭМ
Sergey Berezhnoy
звучит подозрительно 🧐 там нет ничего такого в самом миксине? может есть короткий пример с воспроизведением?
Хотя нет. Причина в другом. Удалось воспроизвести на project-stub.

package.json
 "bem-components": "5.1.1",
"bem-core": "4.2.1", <-- Именно это сочетание версий

миксин:
modules.define('loggable', ['i-bem-dom'], function(provide, bemDom) {
  provide(bemDom.declMixin({
      log : function(msg) {
          console.log(msg);
      }
  }, {
      log : function(msg) {
          console.log(msg);
      }
  }));
});

блок:
modules.define('testblock', ['i-bem-dom', 'loggable'], function(provide, bemDom, loggable) {

   provide(bemDom.declBlock(this.name, [loggable], {
       onSetMod : {
           js : {
               inited : function() {
                   const t = this._elem('text').domElem.text();
                   this.log(t);
               }
           }
       }
   }, {}));
});

bemhtml
block('testblock')(
   js()(true),
   content()({
       elem : 'wrapper',
       content : [
           {
               elem : 'text',
               content : 'text'
           }
       ]
   })
)
источник

EB

Evgeniy Baranov in БЭМ
Evgeniy Baranov
Хотя нет. Причина в другом. Удалось воспроизвести на project-stub.

package.json
 "bem-components": "5.1.1",
"bem-core": "4.2.1", <-- Именно это сочетание версий

миксин:
modules.define('loggable', ['i-bem-dom'], function(provide, bemDom) {
  provide(bemDom.declMixin({
      log : function(msg) {
          console.log(msg);
      }
  }, {
      log : function(msg) {
          console.log(msg);
      }
  }));
});

блок:
modules.define('testblock', ['i-bem-dom', 'loggable'], function(provide, bemDom, loggable) {

   provide(bemDom.declBlock(this.name, [loggable], {
       onSetMod : {
           js : {
               inited : function() {
                   const t = this._elem('text').domElem.text();
                   this.log(t);
               }
           }
       }
   }, {}));
});

bemhtml
block('testblock')(
   js()(true),
   content()({
       elem : 'wrapper',
       content : [
           {
               elem : 'text',
               content : 'text'
           }
       ]
   })
)
источник

SB

Sergey Berezhnoy in БЭМ
Evgeniy Baranov
а что там в this вообще?
источник

EB

Evgeniy Baranov in БЭМ
Sergey Berezhnoy
а что там в this вообще?
i-bem блок (вместо i-bem-dom)
источник