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

Цитата:
snakeskin({ prettyPrint: true })
Ты не указал тип экспорта для ноды.

snakeskin({ prettyPrint: true, exports: 'commonJS' })


А не работает, потому что компиляция делается с глобальным экспортом, а ты запускаешь в ноде.

(До версии 6 это делалось с помощью флага .commonJS)

Цитата:
concat('index.ss')
Лучше так не делать, т.к. в SS предусмотрена директива include и при сборке файлов она организует модули, гарантирует инкапсуляцию глобальных переменных, настроек компиляции и т.д.

https://github.com/kobezzza/Snakeskin/wiki/include

Сообщение от Safort Посмотреть сообщение
Но это ещё не всё. В app.js пишу следующее:

var snakeskin = require('snakeskin');
    var tpls = snakeskin.compileFile(__dirname+'/app/views/index.ss');
    console.log(tpls.text('ss'));


Запускаю файл - работает. Но и это ещё не всё, снова пишу:

var tpls = require(__dirname+'/app/views/index.ss.js').init(require('snakeskin'));
    console.log(tpls.text('ss.js'));

Запускаю. И это теперь тоже работает.

Казалось бы, коммунизм наступил всё норм, но нет.
Редачу файл index.ss (или просто жму Ctrl+S в Sublime), Gulp подхватывает изменения, запускаю app.js и снова вылетает ошибка.
И такой баг(?) повторяется только при использовании уже компилированного шаблона, при живой компиляции такой проблемы нет.

Не знаю в чём именно проблема, но раз ошибку выдаёт SS, то решил написать сюда.
Всё норм, compileFile сейвит полученный шаблон (с экспортом для ноды) на жёсткий диск, а когда ты Галпом перезаписываешь файл с экспортом без ноды, то он перестаёт работать, т.е. просто задай правильный экспорт и будет всё хорошо


PS:
кстати, в SS CLI API есть свой вотчер, но в отличии от того же галпа, он работает с графом отношений файлов, т.е. если обновить, например, файл локализации, который подключён в шаблон, то он перекомпилит его.

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

Скомпилить все шаблоны в папке и сохранить в другую папку результат, задать вотчер.

snakeskin ./myTpls/ -o './compile/%file%.js' --watch
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 15.10.2014 в 17:45.
Ответить с цитированием