Это может быть немного не по теме, но вы можете использовать Grunt (http://gruntjs.com/), который работает на node.js (http://nodejs.org/, доступен для всех основных платформ), чтобы запускать задачи из командная строка. Для этого инструмента существует множество плагинов, например, компилятор шаблонов, https://npmjs.org/package/grunt-contrib-jst . См. Документацию на GitHub, https://github.com/gruntjs/grunt-contrib-jst . (Вам также необходимо знать, как запустить диспетчер пакетов узлов, https://npmjs.org/ . Не волнуйтесь, это невероятно просто и универсально.)
Затем вы можете сохранить все свои шаблоны в отдельных html-файлах, запустить инструмент, чтобы предварительно скомпилировать их все, используя подчеркивание (которое, я считаю, является зависимостью для плагина JST, но не волнуйтесь, диспетчер пакетов узлов автоматически установит зависимости для вас).
Это компилирует все ваши шаблоны в один сценарий, скажем
templates.js
При загрузке скрипта будет установлен глобальный - "JST" по умолчанию - который представляет собой массив функций, доступ к которому можно получить следующим образом:
JST['templates/listView.html']()
что было бы похоже на
_.template( $('#selector-to-your-script-template'))
если вы поместите содержимое этого тега скрипта в (templates /) listView.html
Однако настоящий кикер заключается в следующем: Grunt поставляется с этой задачей под названием `` смотреть '', которая в основном будет отслеживать изменения в файлах, которые вы определили в своем локальном файле grunt.js (который в основном является файлом конфигурации для вашего проекта Grunt в javascript ). Если у вас есть хрюканье, запустите эту задачу за вас, набрав:
grunt watch
из командной строки Grunt будет отслеживать все изменения, которые вы вносите в файлы, и автоматически выполнять все задачи, которые вы настроили для него в этом файле grunt.js, если он обнаруживает изменения - например, задача jst, описанная выше. Отредактируйте, а затем сохраните свои файлы, и все ваши шаблоны перекомпилируются в один файл js, даже если они разбросаны по нескольким каталогам и подкаталогам.
Аналогичные задачи могут быть настроены для линтинга вашего javascript, запуска тестов, объединения и уменьшения / уменьшения ваших файлов скриптов. И все это можно привязать к задаче наблюдения, поэтому изменения в ваших файлах автоматически запускают новую «сборку» вашего проекта.
Требуется некоторое время, чтобы все настроить и понять, как настроить файл grunt.js, но это хорошо, стоит потраченного времени, и я не думаю, что вы когда-нибудь вернетесь к способу работы с предварительным ворчанием.