В случае одностраничных приложений использую angular. А когда роутинг и основная шаблонизация происходит на сервере (например в случае дописывания проектов) — knockout.
А как в lmd отлаживать скомпилированный модуль?
Например, в require.js можно на локалке подключать модуль без компиляции. В browserify есть ключ --debug (сломался в 2.0, правда).
Я про то, чтобы в консоли браузера видеть реальные файл / строку.
И первое и второе, видимо. Допустим есть у вас на отдельной странице фотки пользователя. И хочется часть фоток показать на странице профиля. Получается, что у модели фоток будет несколько шаблонов (разные для разных страниц). И на странице профиля будет кроме модели фоток ещё своя модель.
Заполнение моделей из html нужно для поисковой оптимизации. Из за этого приходится рендерить страницы на сервере. И сейчас просто встраиваем в страницу json для нокаута. Но это увеличивает размер страниц примерно на треть.
Интересно, спасибо :) В будущих статьях хотелось бы почитать как вы делите нокаут-код на модули (чтобы на разных страницах использовать различные их комбинации). И ещё, возможно, вы сталкивались и решили как-то проблему пред-заполнения моделей из отрендеренного на сервере html.
Это только его рыхлое тельце перед ящиком булькает пивом, а сам он… Вставайте из за компа иногда, занимайтесь спортом, тусите и будет вам слава в офлайне :)
1. $(".info").html("") знают все, а за empty — часть людей полезет в доки. «Особые случаи не настолько особые, чтобы нарушать правила.» (с) zen.py
2. $("#history, #description, #category, #contact").hide() — удобнее отлаживать код (комментировать отдельные hide) когда они идут списком.
3. $.ajaxSetup — вообще непонятно какая либа его переопределит, чтобы на него полагаться. Проще написать обычную js функцию делающую запрос с нужными дефолтными параметрами.
Было бы ещё хорошо, если бы эта мультифайловость не сказывалась на тестах, где она не используется.
По поводу синтаксиса. Думаю, будь он ejs совместимым, это сказалось бы на популярности в плюс.
И ещё раз про эскейпинг. Это скорее вопрос безопасности, чем идеологии. Если по умолчанию заэскейпится лишняя переменная, вы заметите это при тестах. А вот если случайно не заэскейпится что-то, вы в браузере это визуально не заметите. Потенциальная дыра. Вот представьте, человек поддерживает два проекта в одном ejs в другом just. Синтаксис похож и забыть про тонкости эскейпинга можно запросто.
Не сохранил тесты. Помню с ejs сравнивал just, один в один по скорости. Так вот тест ejs vs dot остался: dumpz.org/213153/
Сейчас запустил: 1376 (ejs) против 164 (dot).
Там на сайте dot бенчмарки есть браузерные и в репе для ноды вроде. Дописали бы туда just. Кстати, его женщина написала, dot :)
Если речь о некорректных миграциях, то достаточно делать бэкапы непосредственно перед ними, а не (только) по крону.
Например, в require.js можно на локалке подключать модуль без компиляции. В browserify есть ключ --debug (сломался в 2.0, правда).
Я про то, чтобы в консоли браузера видеть реальные файл / строку.
Заполнение моделей из html нужно для поисковой оптимизации. Из за этого приходится рендерить страницы на сервере. И сейчас просто встраиваем в страницу json для нокаута. Но это увеличивает размер страниц примерно на треть.
1.
$(".info").html("")
знают все, а заempty
— часть людей полезет в доки. «Особые случаи не настолько особые, чтобы нарушать правила.» (с) zen.py2.
$("#history, #description, #category, #contact").hide()
— удобнее отлаживать код (комментировать отдельные hide) когда они идут списком.3.
$.ajaxSetup
— вообще непонятно какая либа его переопределит, чтобы на него полагаться. Проще написать обычную js функцию делающую запрос с нужными дефолтными параметрами.По поводу синтаксиса. Думаю, будь он ejs совместимым, это сказалось бы на популярности в плюс.
И ещё раз про эскейпинг. Это скорее вопрос безопасности, чем идеологии. Если по умолчанию заэскейпится лишняя переменная, вы заметите это при тестах. А вот если случайно не заэскейпится что-то, вы в браузере это визуально не заметите. Потенциальная дыра. Вот представьте, человек поддерживает два проекта в одном ejs в другом just. Синтаксис похож и забыть про тонкости эскейпинга можно запросто.
Сейчас запустил: 1376 (ejs) против 164 (dot).
Там на сайте dot бенчмарки есть браузерные и в репе для ноды вроде. Дописали бы туда just. Кстати, его женщина написала, dot :)