Динамическая генерация Javascript на вашем сервере может быть чрезвычайно мощным инструментом, и я испытал как преимущества, так и недостатки в своих проектах.
В общем, вы хотите сохранить как можно больше статики, чтобы свести к минимуму работу, выполняемую при каждом запросе. Это включает в себя как можно больше кеша браузера, что может стать проблемой в вашем случае.
Обычно я делаю блок в заголовке базового шаблона. В шаблонах, которые должны выполнять пользовательский javascript, который известен только во время выполнения (например, настройка на основе вошедшего в систему пользователя), я добавляю его в блок. Здесь я могу динамически генерировать javascript, который, как я знаю, не будет кэшироваться, поэтому я могу сделать некоторые предположения. Недостатком является большая сложность.
Если вам нужно просто указать URL-адреса или иметь простую конфигурацию и т. Д., Я бы предложил создать представление, которое будет возвращать файл Javascript с этими настройками. Вы можете установить правильные заголовки (Etag, Cache-Control и т. д.), чтобы браузер кэшировал файл в течение разумного времени. Когда вы обновите свой код, убедитесь, что Etag изменится.
В коде, который должен использовать конфигурацию, вам нужно всегда проверять, что переменная, которую вы ищете, действительно определена, иначе вы столкнетесь с проблемами, которые трудно отладить, когда по какой-то причине конфигурационный javascript загружается неправильно.
person
knutin
schedule
23.11.2010