Как сделать javascript «на ходу», когда пользователь пытается получить файлы .js (или .php с type-content: javascript)?

1

Я хотел бы угадать javascript так же, как это позволяет этот инструмент. Дело в том, что я хотел бы сохранить исходный текст javascript на сервере и избегать минимизации дублированных файлов только для того, чтобы обслуживать их... поэтому мой мыслительный процесс будет примерно таким:

1-> user http requests myjavascript.js 2-> я run it through an uglifier 3-> я present the javascript code to the user

У меня также есть javascript с "myjavascript.php", чтобы разрешить предварительную обработку файла перед его обслуживанием пользователю. (например, повторение переменных в javascript). Любая идея о том, как это можно сделать с помощью.js и.php файлов с заголовком (type-content: javascript)? Tyvm за вашу помощь...

  • 0
    Вы должны будете использовать mod_rewrite для перенаправления URL-адресов .js в скрипт php, который будет использовать API и возвращать результаты.
  • 0
    Почему бы вам не просто предварительно скомпилировать измененную версию? Каковы недостатки этого? Реальность такова, что статические файлы дают вам гораздо большую гибкость в общей оптимизации приложений (например, вы можете поместить файлы в CDN, использовать кэширование на стороне клиента и т. Д.) Почему вы хотите тратить вычислительную мощность (и реакцию приложения) время) генерировать каждый файл JS для каждого запроса? И наоборот, каковы недостатки создания минимизированного js-файла, который никогда не используется? Вероятно, он занимает всего несколько килобайт дискового пространства, а хранилище дешево.
Теги:

2 ответа

1

Решение 1

Если вы используете Apache, вы можете установить mod_pagespeed (модуль Apache с открытым исходным кодом, созданный Google, чтобы помочь сделать Web Faster путем перезаписи веб-страниц для уменьшения латентности и пропускной способности) с rewrite_javascript параметра rewrite_javascript.

Решение 2

Используйте CDN, который предлагает такие опции, как CloudFlare с параметром AutoMinify.

-1

Это нехорошее решение. Зависит от вашего размера файла js, он может быть болезненным для вашего сервера. Лучший способ - использовать скрипт uglify php для создания новых файлов. Исходные файлы просто помещаются в общедоступную папку. То есть:

/application 
/scripts 
/public
    /js/ {dynamic content / cache}
    /index.php

Внутри скриптов вы помещаете оригинальные файлы. Вы можете очистить кеш файл вручную или cron, используя специальный адрес и генерируя новые js файлы. Если вам нужен автоматический путь, вы всегда можете проверить дату изменения своих сценариев и генерировать новую, если изменить - медленнее, но все же лучше, чем генерировать скрипты каждый раз

Ещё вопросы

Сообщество Overcoder
Наверх
Меню