Вот все склеивают весь js в единый миницицированный файл.
А как выполнять его куски лишь на определенных страницах?
Ведь на каждой странице вызываются свои функции, инициализируются свои виджеты, свои события.
Вроде и ничего страшного - ведь если нет элементаов, то и ничего не инициализируется, но... Что же это? При каждом переходе по сссылке весь код будет выполняться заново (берем, что у нас не spa)?
Что значит, инициализируется? $('[data-toggle="modal"]').modal();
Не инициализирует ничего, если селектора: [data-toggle="modal"] нет
То есть, происходит только поиск селектора.
raiboon: Ну так 2 варианта: селектора нет - происходит поиск по дерево и завершение. Селектор есть - происходит поиск и "инициализация". В чем проблема? Боитесь, что на одних страницах одни и те же селекторы нужно обрабатывать, а на других - нет ? Это проблема дизайна уже, а не файловой структуры.
Виктор Ablebeam: Но ведь время на бесполезные поиски элементов тоже тратится.
ПЛюс, к примеру на определенной странице делается ajax запрос на какие-то данныеЮ что бы инициализировать виджет карт. Как от него избавиться&
raiboon: Очевидно же, избавиться проверкой на наличие этого виджета на странице. По-хорошему, JS должен взаимодействовать только с data-атрибутами. Есть дата-атрибут - нужно работать. Нет дата-атрибута - не нужно работать.
Если запрос делается до такой проверки - это плохой дизайн. И разделение по файлам спасет лишь незначительно.
Время на поиск... Ну, тут вы правы, эти спички редко считают.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.