Как мне справиться с ситуациями, когда файл javascript имеет «относительные» пути изображений, которые он использует? - PullRequest
2 голосов
/ 31 января 2011

Эти пути прерываются, когда я загружаю каталог мультимедиа на S3.

Вот мой процесс:

У меня есть скрипт, который загружает весь каталог мультимедиа в CDN Amazon S3.Так что мой веб-сайт загружает изображения / css / js из этого CDN.

Но у многих моих плагинов из JQuery есть изображения, которые «определены» относительно.Поэтому, когда он переходит на S3, этот путь больше не имеет смысла.

Что мне делать в этом случае?Я действительно хочу поместить свою мультимедийную папку в S3, но я просто хочу, чтобы пути были сохранены.

Пример:

/media/js/fancybox/fancybox.js 
/media/js/fancybox/fancybox-image.png

Когда я запускаю это на моем сервере Apache / Django, онработает, поскольку fancybox.js вызывает fancybox-image.js и обнаруживает его.

Однако, когда я запускаю его на моем Amazon S3:

s3.amazon.com/my_bucket/js/fancybox/fancybox.js
s3.amazon.com/my_bucket/js/fancybox/fancybox-image.png

Javascript вызывает это изображениевместо:

s3.amazon.com/my_bucket/fancybox-image.png

1 Ответ

1 голос
/ 31 января 2011

Определите переменную URLbase в вашем JS, чтобы в вашей среде разработки это было что-то вроде URLbase = "http://localhost", а на производстве - URLbase = "http://s3.amazon.com/my_bucket"

Затем, когда вы определяете URL-адреса, вы можете добавить URL-базу к местоположению,или определите служебную функцию, которая добавит URL-базу к пути (это сделает ее более гибкой, если у вас есть несколько базовых URL-адресов, которые вы хотите смешать сразу.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...