Я думаю о том, как некоторые онлайн-службы создают динамические файлы JavaScript. Эти файлы имеют расширение .js, но их содержимое не является статическим. Я нашел образец файла здесь . Кажется, что этот скрипт генерируется с языком программирования более высокого уровня. Я думаю, что это делается с помощью PHP или чего-то подобного, но я не уверен, и я не нашел никакой документации по этой теме.
Есть ли хорошо известный способ создания таких динамических файлов JavaScript?
Подумайте, нужно ли вообще создавать динамический JS-файл. Вместо генерации динамического JS вы часто можете просто вводить статические сценарии и использовать отдельный JSON для поддержки динамической конфигурации на вашей странице.
Если вы просмотрите источник на этой (или любой другой) странице StackOverflow, вы увидите, что они используют тот же шаблон: Статические внешние .js-файлы, которые ссылаются на отдельный централизованный фрагмент JSON для конфигурации. Это JSON – это то, что обеспечивает динамизм.
Просмотрите источник и ищите:
StackExchange.init({...
Большинство языков на стороне сервера делают тривиальным сериализацию объекта для JSON, поэтому вы можете ввести его на свою страницу.
Вот десять причин использования внешних статических js-файлов предпочтительнее:
Подробнее здесь: http://www.bitnative.com/2013/10/06/javascript-configuration-object-pattern/
Это зависит от того, хотите ли вы создавать файлы или возвращать данные. Генерация файлов будет выполняться с помощью файла file_put_contents . В качестве альтернативы вы можете иметь файл .js в папке с файлом .htaccess, который сообщает вам выполнить его как php , позволяя просто генерировать сценарий «на лету» на основе параметров сеанса, получения или сообщения.
Вы можете использовать любой серверный язык для создания динамических файлов javascript, файлы javascript не должны заканчиваться на .js. Если вы действительно хотите, чтобы ваши файлы заканчивались на .js, вам нужно будет изменить настройки своего сервера, чтобы обрабатывать файлы .js, например, файлы PHP.
Вы также можете использовать код сервера для генерации встроенного javascript.
Но будьте осторожны при создании файлов javascript, это может стать очень сложным, когда вы смешиваете два языка программирования