Цитата:
|
имхо, не нужно переизобретать стандарт Web Components
|
Стандарта ещё нет толком и не факт, что он будет конфетой.
Я в своём проекте использую похожий подход, есть
.styl
.b-button {
@extends i-base;
...
}
.ss
- template bButton.prototype.tpl() extends iBase.prototype.tpl
...
.js
// ES6 торт :)
class bButton extends iBase {
...
}
А подключение того или иного модуля делается через b-button.json, где описаны зависимости и т.д.
{
"block": "b-button",
"extends": "i-base",
"use": [
"logic",
"style",
"tpl"
]
}
Вызов такого блока в другом шаблоне выглядит примерно так:
/// директива bem - это часть фреймворка
- bem b-button value: '...', size: 'xxl', style: 'dark'
Дополнительная крутость в том, что SS поддерживает БЭМ и локализацию на уровне синтаксиса, а блок может быть полностью отрендерен как на сервере, так и на клиенте без внесения изменений в код. Восхваляемый всеми Jade не умеет и 1/10 от фич SS - это объективный факт.
Удобнее такого подхода за 7 лет проганья на JS я пока не видел