Увеличение времени загрузки страницы
У меня есть файл исходного кода JavaScript, который составляет около 32 КБ, и имеет код JavaScript, упорядоченный в модулях. Мне было интересно, увеличит ли это время загрузки страницы, если я поместу каждый модуль в отдельный файл, так как управление текущим кодом из более чем 2000 строк довольно утомительно, а иногда и сбивает с толку
1 ответ
Короткий ответ, да и нет. Если у тебя есть <script>
тег, указывающий на каждый файл модуля, тогда да, это замедлит страницу из-за увеличенного количества сетевых обращений к этим файлам. Реальный ответ - это то, как вы должны его кодировать, но это не тот способ, которым вы должны предоставить его своему пользователю.
Я рекомендую инструмент под названием Minify, который объединит и минимизирует все ваши файлы JS, поэтому вам нужен только один <script src="/min/f=mod1.js,mod2.js,mod3.js" type="text/javascript"></script>
тег
Вы также можете управлять "группами" файлов, которые являются просто массивами PHP с ассоциативным ключом, на который вы ссылаетесь в скрипте src. Например:
'module_js' => array(
'//js/module1.js',
'//js/module2.js',
'//js/module3.js'
)
Тогда ваш тег сценария будет выглядеть так:
<script src="/min/g=module_js" type="text/javascript"></script>
После того, как Minify объединяет и минимизирует ваш код, он будет кэшировать его на вашем сервере, поэтому последующие запросы будут попадать в файл кэша, поэтому PHP не нужно будет обрабатывать.