Как правильно я Вам не скажу. Но я перекладываю это но голову сервера занимающегося отдачей статики (у меня nginx), при запуске сервера, просто компилируем все шаблоны как статичные js файлы, и выкладываем в public, можно еще следить не меняются ли шаблоны и в случае изменения перегенерировать файлы.
Все зависит от условий. Если шаблонов не много, то нет ничего плохого в хранении в памяти nodejs, только не забываем выставлять заголовки, что бы клиент лишний раз не бегал.
Тут имелось в виду, как закэшировать шаблоны внутри приложения. ETag вас не спасет в случае множества клиентов заходящих впервые.
Про заголовки я намекнул комментарием выше.
а зачем кешировать шаблоны внутри приложения? скомпилируйте их раз и отдавайте скомпилированные, файловая система сама разберется что ей чаще нужно и в свой кеш это вытянет, вы даже не заметите, что не с диска читаете :)
Зачем людям jquery?
Наверное потому что библиотека будет работать везде одинаково в независимости от браузера, скрывая в своих внутренностях все баги и грабли разных браузеров.
Спасибо за статью про интересные технологии! Совсем как-то некрасиво сделана у вас отдача темплейтов клиенту. Понятно, что это девелопмент-версия и компиляция+конкатенация всего каждый раз не страшна при разработке, но для того, чтоб добавить один шаблон, придется каждый раз дописывать эту функцию. Гораздо удобнее было бы сделать отдачу jade с помощью middleware, это будет по-коннектовско-экспрессовски — можно просто настроить отдачу какого-то фолдера через jade.compile (можно оборачивать отдельные файлы в АМД), впрочем, я уверен, это можно спокойно найти готовое на гитхабе.
Вообще можно безболезненно экспортировать все шаблоны без префикса. По хорошему при запуске сервера, можно обходить все рекурсивно, компилировать в 1 js файл и выкладывать его в статик. Руками конечно делать не стоит, только как то трудно написать просто и понятный для всех пример и что бы все автоматически, кода тогда будет много, а основная идея где то потеряется.
Буду благодарен если кто-то напишет как поэтапно с нуля можно написать простенький сайт на jade. Ajax и прочие плюшки не обязательно, просто самые основы.
Навигация без перезагрузки используя expressjs, jade и History.js