Минимизация динамического JavaScript с использованием PHP - PullRequest
1 голос
/ 08 февраля 2012

У меня есть некоторый JavaScript, который генерируется кодом PHP с использованием шаблона.

Результатом шаблона является файл, содержащий JavaScript, но с разбросанными по нему операторами.

Я хочу уменьшить размер этого файла, удалив пробелы и комментарии.

Однако все, что я могу найти в Интернете, это инструменты для простого JavaScript, которые чрезвычайно сложны.

У меня все готово написать сценарий для сокращения HTML и CSS-контента, использующего ту же систему, я ищу информацию об уменьшении размера файла JavaScript, чтобы я мог написать сценарий сокращения, который может обрабатывать код PHP. в файле.

Итак, что я хочу:

Учебник по уменьшению размера кода JavaScript. Простой скрипт для уменьшения размера JavaScript, который я могу анализировать. Или инструмент, который прекрасно работает с PHP, встроенным в код JavaScript (должен быть либо Public Domain, либо Open Source, позволяющий использовать его в коммерческих работах)

EDIT:

$script = preg_replace('%/\*.*?\*/%','',$script);
$compress = preg_split('%("|\'|/)(?:\\\\|\\\1|[^\1])*?\1|<\?php\s+(?:("|\')(?:\\\\|\\\2|[^\2])*?\2|[^"\']*?)*?\?>%',$script);
preg_match_all('%(("|\'|/)(?:\\\\|\\\2|[^\2])*?\2|<\?php\s+(?:("|\')(?:\\\\|\\\3|[^\3])*?\3|[^"\']*?)*?\?>)%',$script,$no_compress);
foreach ($compress as &$block) { $block = preg_replace('%\s+%',' ',$block); }

Я думаю, что я решил это, приведенное выше должно удалить комментарии в стиле C, затем разделить оставшийся код на блоки PHP, строки Javascript 'или' и шаблоны Regex /, а также извлечь блоки кода, строки и Шаблоны регулярных выражений, код внутри шаблона или строки следует игнорировать как второй параметр в регулярном выражении. Последняя строка должна уменьшить пустое пространство в блоках сжатия до одного пробела

Тогда это просто вопрос рекомбинации блоков, т. Е.

$cscript .= $compress[$i].$no_compress[$i]

Чтобы перестроить скрипт.

Что-то, что я пропустил?

Ответы [ 2 ]

6 голосов
/ 08 февраля 2012

Хочешь что-нибудь подобное?

http://code.google.com/p/minify/

0 голосов
/ 08 февраля 2012

Под динамическим javascript вы имеете в виду javascript, в котором разбросаны теги PHP? Если это так, то вы ДЕЙСТВИТЕЛЬНО должны найти новые методы программирования, такие как поток JSON. Я также использовал полезную нагрузку на своих сайтах, и это может быть метод, который вы бы лучше, чем PHP JS. Вы можете использовать универсальный PHP и JS Minifier для уменьшения размера страницы PHP. Удачи.

...