Как и везде в программировании, в данном случае нет "правильного" или "неправильного" способа. Все зависит от ващих задач, каждый способ имеет сильные и слабые стороны в зависимости от них.
Я собираю в переменную при помощи grunt и подгружаю js-файл с ними при старте страницы (это в режиме разработки, конечно, на продакшене все скрипты собираются в один файл).
Это позволяет компилировать на сервере, то есть шаблоны работают быстрее (вопрос о том, насколько быстрее они работают, остается открытым). При таком подходе, конечно, грузятся вообще все шаблоны, часть из них может вообще не пригодиться, для избежания этого как раз и загружают их по требованию, когда они реально нужны. Но это добавляет элемент асинхронности - нужно обрабатывать загрузку шаблона, показывать спиннер в интерфейсе и т.п.