@oskemarkup

Как оптимизировать JS код?

Разрабатываю многостраничный сайт с различными JS эффектами, включая ajax смену страниц.
Всего js кода (без jQuery) получается около 100кб, причем на каждой странице используется меньше половины всего кода.
Недавно читал про модульные подходы, например, LMD или Require.js, но так и не смог разобраться.

Плюсом планируется modernizr, где для каждого состояния будет своя функция.

Так же проблема в том, что большинство подключаемых плагинов не модульные (как мне кажется, не знаю, как это определить).

Собственно назревает вопрос: просто взять весь код, объединить и минифицировать или все-же заморочиться с модульным подходом?

Также хотелось бы узнать, есть ли какие то другие способы оптимизации кода.

p.s. Когда пытался разобраться с модульным подходом, не мог понять, как писать свой код, чтобы он стал модульным.
  • Вопрос задан
  • 2402 просмотра
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
вы мол переживаете что пользователи грузят аж 100 килобайт js-а? я уверен что после минификации/аглификации + gzip оно будет весить килобайт 20. А если кеширование браузера настроить нормально то оверхэда не будет.

В остальном, читаем ответ @Satanpit.
Ответ написан
Комментировать
Satanpit
@Satanpit
Front-end developer
Модульный подход, в основном, предназначен для удобства использования/изменения и структурирования кода, и да, с ним бы я советовал Вам заморочиться, потому что если и не Вам то кому-то другому придется его поддерживать, а в силу того что это файл с кучей непонятных ф-й и плагинов, даже Вы через какое-то время забудете что же происходит в том или ином участке кода. Так же модульный подход предполагает многократное его использование, что тоже не мало важно.

По поводу оптимизации - нужно видеть код. В общем это использование делегированных событий там где это нужно, использование DocumentFragment для вставки в DOM, грамотное использование jQuery, CSS3 анимация и т.д. Обо всем этом Вы можете найти множество статей и примеров.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы