Тема: Snakeskin
Показать сообщение отдельно
  #226 (permalink)  
Старый 30.08.2014, 13:10
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
имхо, не нужно переизобретать стандарт 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 я пока не видел
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 30.08.2014 в 14:15.
Ответить с цитированием