Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #481 (permalink)  
Старый 12.02.2015, 07:52
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Фух, всё правильно работает

В test_html.ss.js нет, т.к. там ты объявил прототип, но нигде не вызывал и сборщик мусора SS декларацию выпилил, т.к. она не нужна оказалась.

А в test.ss.js нет, т.к. ты переопределил родительский для proto des блок и тем самым удалил его декларацию и сборщик мусора SS обнаружил, что на данный прототип нет больше ссылок и удалил его, т.е. это абсолютно правильное поведение, решать это можно двумя способами:

1) Вызов super в родительском блоке

{template main(param) extends html}
    {block body}
        {super}
        <div class="wrap">
                {apply des()}
        </div>
    {/}
{/template}


2) Явное указание использования прототипа

{template main(param) extends html}
    {proto des(des)}
        {super}
    {/}

    {block body}
        <div class="wrap">
                {apply des()}
        </div>
    {/}
{/template}


При таком подходе прототип будет вынесен из body, а body будет перезаписан.

PS: если не сложно, добавь мне в issue заданице описать это поведение в доке, а то у мя ща нет возможности, а если не добавить, то я забуду

UPD:
повесил тикет по улучшению доки
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 12.02.2015 в 11:25.
Ответить с цитированием
  #482 (permalink)  
Старый 17.02.2015, 11:57
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Давно хотел спросить.

Настроен watcher snakeskin в webstorm.

header.ss
тут делаем изменения
header.ss.js меняется, всё ок

html.ss
{include 'header.ss'}
html.ss.js Шаблон не знает об изменениях, все плохо

Если изменения делаются в подключаемом шаблоне, то все файлы в которых подкючается этот шаблон приходиться обновлять вручную.

Можно как-то отслеживать изменения в подключаемом файле и пересобирать зависимые от него шаблоны? Может есть команда глобальной пересборки хотябы?

Когда зависимый шаблон 1, то такое поведение терпимо, но когда их 10, это уже напрягает.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #483 (permalink)  
Старый 17.02.2015, 14:30
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Это косяк вотчера WS, насколько мне известно, что у этой проблемы нет решения сейчас

НО, ты же можешь использовать вместо WS:

1) Встроенный вотчер Snakeskin (--watch в CLI, натрави SS на папку с этим флагом);
2) Вотчер от Gulp или Grunt.

Там таких проблем нет.

Цитата:
Может есть команда глобальной пересборки хотябы?
Это можно, в настройках файл вотчера WS задай компиляцию не отдельного файла, а всей папки, где лежат твои шаблоны.

snakeskin myTpls/ -o '%filePath%.js'


Тут компилится папка, а результаты сохраняются рядышком с исходными файлами, подробнее

https://github.com/kobezzza/Snakeski...0%BE%D0%B5-API
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 17.02.2015 в 15:21.
Ответить с цитированием
  #484 (permalink)  
Старый 17.02.2015, 16:44
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

kobezzza,
Спасибо за ответ. CLI-нул, все пересобралось норм.

А вот такой вопрос. А зачем компилятор пишет в комменты абсолютные пути к шаблонам? Это вроде как плохая практика.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #485 (permalink)  
Старый 17.02.2015, 17:01
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
А вот такой вопрос. А зачем компилятор пишет в комменты абсолютные пути к шаблонам? Это вроде как плохая практика.
Возможно это баг, надо проверить, спс за репорт.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 17.02.2015 в 17:03.
Ответить с цитированием
  #486 (permalink)  
Старый 19.02.2015, 11:43
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Открыл для себя еще один кейз использования SS

Препроцессор для шаблонов под Angular, т.е. на этапе сборки проекта шаблоны компилятся с флагом exec и результатом является уже HTML, с которым работает Angular, а т.к. в SS есть директива {{ }}, то шаблон выглядит естественно и очевидно.

В общем, по мне, супер как удобно! Интересно опробовать такой же кейз для React.
__________________
kobezzza
code monkey
Ответить с цитированием
  #487 (permalink)  
Старый 19.02.2015, 19:22
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от kobezzza Посмотреть сообщение
Открыл для себя еще один кейз использования SS

Препроцессор для шаблонов под Angular, т.е. на этапе сборки проекта шаблоны компилятся с флагом exec и результатом является уже HTML, с которым работает Angular, а т.к. в SS есть директива {{ }}, то шаблон выглядит естественно и очевидно.

В общем, по мне, супер как удобно! Интересно опробовать такой же кейз для React.
в терминах webpack это называется script-loader ...
имхо, переизобретаешь


но движуха с реактом мне нравится. ты же jsx имел в виду под "реактом" ?
Ответить с цитированием
  #488 (permalink)  
Старый 19.02.2015, 19:44
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от kobezzza
Интересно опробовать такой же кейз для React.
Я может чего не догоняю, но может подскажите какой в этом смысл?

Как объявлять?:
propTypes: {
   value: React.PropTypes.string.isRequired
}


getInitialState: function () {}


И т.д. и т.п.

У Реакта очень тесно связано объявление компонентов и обработка их поведения. Зачем туда пихать ещё и шаблонизатор, который будет делать что?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #489 (permalink)  
Старый 19.02.2015, 20:54
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
в терминах webpack это называется script-loader ...
имхо, переизобретаешь
Не понял о чём ты. Как шаблонка Angular никуда не годится, т.е. он занимается data-binding -ом, а SS - это именно шаблонка с умоохренительной системой code-reuse и кучей всякого сахара, а т.к. SS поддерживает синтаксис Angular из коробки, то такой гибрид действительно очень удобен и прост в использовании.

Цитата:
Я может чего не догоняю, но может подскажите какой в этом смысл?
Ну, я ещё даже не изучал вопрос, но мне видется, что Реакт - это скорее шаг назад, чем вперёд, т.к. там мы опять имеем вермишель из JS и разметки, непонятно что с code-reuse и т.д. Надо поизучать вопрос, мб я реализую интеграцию с JSX.
__________________
kobezzza
code monkey
Ответить с цитированием
  #490 (permalink)  
Старый 19.02.2015, 21:11
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

var HelloMessage = React.createClass({
  render: function() {
    return <div>Hello {this.props.name}</div>;
  }
});


VS

var HelloMessage = React.createClass({
  render: function() {
    return Snakeskin('myFile');
  }
});


# template HelloMessage()
    #< div
        Hello {this.props.name}


И такой шаблон вернёт шаблон React (в примере использован расширенный синтаксис директив #, чтобы можно было спокойно использовать React {}). В шаблонах SS мы можем юзать наследование, макросы, локализацию, БЭМ и кучу прочих фич и бесшовно интегрировать их с React.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 19.02.2015 в 21:26.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
express-snakeskin - view через snakeskin для express melky Ваши сайты и скрипты 5 10.06.2014 11:35