#javascript #optimization #structure #legacy-code
#javascript #оптимизация #структура #устаревший код
Вопрос:
Я унаследовал устаревший проект с кучей файлов javascript повсюду… Есть ли способ определить, какие из этих файлов используются внутри страниц?
Заранее спасибо.
Ответ №1:
Используйте инструмент отладки, подобный YSlow! http://developer .yahoo.com/yslow /
Такие инструменты обычно указывают на избыточные файлы и код.
Комментарии:
1. Есть ли способ рекурсивно запустить тест для всех страниц?
Ответ №2:
-
Вы можете просмотреть журналы веб-сайта за прошлый, скажем, месяц и найти все
*.js
файлы, запрошенные браузерами. Журнал может содержать страницу ссылки, что упрощает задачу. -
То, что я очень часто делаю для
.asp
файлов: найдите хороший текстовый редактор, который позволяет вам находить текст внутри файлов / папок. Visual Studio .NET отлично справляется, но я пробовал и добился успеха и с Notepad . Найти все файлы, которые содержат.js
. Если ваш текстовый редактор обеспечивает поддержку регулярных выражений для поиска (как в вышеупомянутых продуктах), это делает работу еще лучше. Регулярное выражение, которое я использую в VS, является.asp>
(точка asp, за которой следует граница слова). Результаты поиска часто отображаются в окне, из которого вы можете скопировать все и выполнить некоторую ручную обработку с помощью дополнительных операций с регулярными выражениями или скопировать данные в файл Excel. -
Macromedia Dreamweaver выполняет приемлемую работу, если на вашем веб-сайте есть некоторая структура. В Dreamweaver есть команда «Найти неработающие ссылки», которая генерирует дополнительный отчет под названием «Потерянные файлы». Отчет о потерянных файлах может сообщить вам, на какие js-файлы не ссылается ни одна страница. Затем вы можете запустить команду Dreamweaver «Find» (найти на всем локальном веб-сайте / найти в папке), чтобы дважды проверить каждый файл один за другим. Я тоже это пробовал. Следует отметить, что Dreamweaver может не иметь возможности обнаруживать циклы. Например, если файл
foo.js
используется,bar.asp
ноbar.asp
на него не ссылается никакая другая страница, Dreamweaver будет помеченbar.asp
как потерянный, но неfoo.js
. Последняя версия Dreamweaver может выполнить работу лучше.
Ответ №3:
Вы могли бы создать скрипт на языке сценариев общего назначения, который запускается через каждый html-файл в вашем проекте, проверяя их теги script. Или вы могли бы просто сделать это вручную, что может сэкономить вам некоторое время, а может и не сэкономить, в зависимости от размера вашего проекта.
Комментарии:
1. Вы все еще могли бы использовать какое-нибудь регулярное выражение или, возможно, анализатор XML.