Предполагается, что вы используете модуль Apache mod_pagespeed, потому что вы пометили вопрос им, но не упомянули, если вы или нет ...
Если вы включите ModPagespeedEnableFilters combine_javascript
(который по умолчанию отключен ), он будет работать на всей странице. Согласно документации :
Этот фильтр генерирует URL-адреса, которые по сути являются конкатенацией
URL-адреса всех объединяемых CSS-файлов.
page1.html объединит mootools.js, main.js и page1.js; а page2.html будет mootools.js, main.js и page2.js.
Чтобы ответить на ваш вопрос, да, он кеширует несколько копий повторяющихся файлов JavaScript.
Тем не менее,
По умолчанию фильтр будет объединять файлы сценариев из
различные пути, размещая объединенный элемент на самом низком уровне
общий для обоих источников. В некоторых случаях это может быть нежелательно. Вы
можно отключить поведение с помощью: ModPagespeedCombineAcrossPaths off
Если вы оставите это поведение включенным и разложите файлы по разным путям, которые вы хотите объединить, вы можете разделить их так, чтобы общие сценарии были объединены в один и отдельные сценарии были бы объединены самостоятельно. Это позволит избежать дублирования больших общих библиотек.