Если вы хотите ускорить первоначальную загрузку одного из наших сайтов, у нас есть весь наш javascript в комбинированном файле, довольно большой - около 90 КБ. Все инструменты анализа там говорят: «Вы должны переключиться на async, чтобы у вас не было JavaScript-блока вашего веб-сайта».Объединение jQuery + пользовательский скрипт с асинхронным или нет?
Это то, что мы имеем перед тегом тела закрытия сегодня
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="/js/script.js"></script>
Наш сценарий зависит от JQuery. Итак, мой вопрос: лучше ли иметь скрипт около 200kb, то есть jQuery, связанный с нашим скриптом, поэтому мы знаем, что jQuery загружается перед нашим собственным скриптом и загружает его асинхронно или есть другой способ обойти это без привлечения слишком многие сторонние решения, такие как headjs, reactjs и т.д.
Помещенный в коде, это
<script src="/js/combined.js" async></script>
лучше, чем это
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="/js/script.js" async></script>
помогает ли это какой-либо, если мы сохраним JQuery синхронизации, и поставить наш сценарий асинхронный или опасен в том смысле, что мы не можем точно знать, что jQuery загружен до нашего?
Или, как не-решение, мы просто не заботимся об этом и сосредоточимся на других вещах, то есть действительно ли стоит выиграть этот последний выигрыш в производительности?
Любые идеи были бы очень признательны.
@Adergarrd Когда вы говорите, «все наши JavaScript», вы имеете в виду для всего сайта? E.G более одной страницы? – bassxzero
Да. По многим причинам у нас есть базовая логика нашего приложения в одном, довольно большом (90kb) js-файле. Графики для статистики, datetimepickers и т. Д., У нас есть вне сценария, и они загружаются на нужные им страницы. Это не проблема. Проблема в том, как мы достигаем async без прерывания последовательности. – Adergaard
@Adergarrd - это ужасная идея зацикливаться до (window.jQuery! == undefined) в верхней части вашего пользовательского js-файла? – bassxzero