Я первый вариант юзаю. Я на ruby on rails делаю, там это реализовано "в коробке"
У меня получается есть application.js - тут пишу скрипты необходимые для всех страниц. Дальше подключается нужный page.js, в нем я подключаю необходимые для этой страницы модули и пишу код, используемый именно на это странице.
Для css так же.
При деплое рельсы автоматом собирают на каждую страницу свои минимимизированные файлы и получается, что в production для каждой страницы есть один маленький файл, в котором только нужный код для это страницы.
Как-то так.