Я пользуюсь roole в обычной работе. Иногда использую дизайн из bem-components. Там он на stylus. Как сделать так, чтобы все это собиралось вместе?
кусок make.js:
MAKE.decl('BundleNode', {
getTechs: function() {
return [
'bemjson.js',
'bemdecl.js',
'deps.js',
'roole',
'stylus',
'css',
'ie.css',
'ie9.css',
'bemtree',
'bemhtml',
'node.js',
'spec.js',
'browser.js+bemhtml',
'html'
];
},
getForkedTechs : function() {
return this.__base().concat(['roole','stylus', 'browser.js+bemhtml']);
},
getLevelsMap : function() {
return {
desktop: [
'libs/bem-core/common.blocks',
'libs/bem-core/desktop.blocks',
'libs/bem-components/common.blocks',
'libs/bem-components/design/common.blocks',
'libs/bem-components/desktop.blocks',
'libs/bem-components/design/desktop.blocks',
'libs/constructor-blocks',
'common.blocks',
'desktop.blocks'
]
};
},
В такой конфигурации stylus обрабатывается, но не попадает в _index.css
Самый простой способ — это вызвать
npm run compiled
вbem-components
, в результате чего на базеstylus
будут скомпилированы обычные css-файлы для каждого блока. Тогда будет возможно собирать простоcss
+roole
(технологияroole
как раз так и делает из коробки).Но хочу заранее предупредить, что по мере роста проекта скорость компиляции roole будет неуклонно возрастать. в какой-то момент пересборка
roole
может занимать по 20 секунд.Лучше перевести все на
stylus
пока блоков не очень много? Есть ли вообще возможность работать сразу с несколькими препроцессорами?думаю, да
если соблюдать определенные ограничения, то да. но не факт, что это будет приносить больше профита, чем проблем