В моем проекте много JS-кода внутри PHP-файлов. Я хочу минимизировать код JS в этих файлах, и мне нравится программа uglifyjs2. Возможно ли, чтобы этот (или любой) JS-минификатор воздействовал на JS-код? ВНУТРИ файл php?
Кто-то собирается предложить удалить весь код JS из файлов PHP и поместить его в файлы .js, но это не всегда практично.
Имейте в виду, что я делаю НЕ хотите минимизировать JS на лету (действуя на выходе интерпретатора PHP). Я доставляю код PHP клиентам, содержащим JS, и я хочу минимизировать JS внутри файлов PHP, которые я поставляю.
То, что вы ищете, не существует.
Единственная реальная причина иметь встроенный JavaScript внутри ваших файлов PHP состоит в том, что вам нужно интерполировать PHP и JavaScript, чтобы динамически генерировать некоторые или все сценарии. Вы не можете надежно минимизировать такой JavaScript до PHP на самом деле обрабатывается, так что вы бы смотрели на его минимизацию после PHP запускается при каждом запросе. Там должен очень малую ценность для этого, так как большая часть вашего JavaScript не должна быть написана внутри ваших файлов PHP.
Все, что генерирует php-скрипт в качестве вывода, отправляется в браузер. Если вы отправили «фактический» вывод сценария вместо потока вывода в другое приложение, извлекайте и перенаправляйте тот вывод — да, вы можете сделать что угодно.
Другой вопрос, насколько осуществим и разумен такой подход. uglifyjs2 является приложением node.js, и, следовательно, этот шаг потребует некоторого межпроцессного взаимодействия, то есть дополнительной сложности и дополнительного времени / памяти / точек отказа и всего такого хорошего.
Может быть, это стоит усилий, а может и нет. Может быть что-то вроде https://github.com/tedious/JShrink будет достаточно…