@dizballanze правильно сказал, grunt решает эту проблему. По хорошему, последовательность работы следующая:
1. Bower подтягивает компоненты.
2. Grunt в девелопмент режиме копирует не min версии либ из папок компонентов в какую-то директорию, допустим assets. Таже в эту же папку грунт копирует скрипты приложения.
3. Grunt в продакшн режиме копирует и склеивает min версии либ из папок компонентов и копирует и минифицирует JS код проекта в assets.
4. Grunt при помощи плагина watch следит за папками со скриптами и при изменении прогоняет все операции.
В Jade-ах подключаются скрипты тоже в двух режимах - if (dev) else блок.