2014-10-07 3 views
1

У меня есть система php, где объекты представления могут вставлять файлы css и js через основную функцию. Система объединяет все включенные js и css-файлы в min.css и min.js, и сайт будет использовать эти два. Проблема в том, что файлы содержат относительные пути, а минированные - в другом месте, поэтому у меня есть куча неработающих ссылок. Я могу писать абсолютные пути, но когда я загружаю некоторую стороннюю библиотеку, проблема будет (и я не хочу их переписывать). Теперь я просто не использую этот метод для libs, но мне интересно, есть ли хорошее решение для такого рода проблем?Объединить js & css: как бороться с относительными путями?

+0

вы должны положить гребень ined/сжатые файлы по тому же пути, что и оригиналы –

+0

Я не могу этого сделать, потому что я объединяю все файлы js на сайте в 1 файл, поэтому «оригинал» на самом деле занимает 5-6 мест. – Macros

+0

Возможно, вам стоит рассмотреть вопрос о том, чтобы положить их на один и тот же путь. –

ответ

0

Может быть, вы должны делать что-то вроде этого:

<script> 
    var base_url = <?=get_base_url();?> 
</script> 
<script type="text/css" src="js/compressed.js"></script> 

И в compressed.js, использовать абсолютный путь в этом, как:

(например, Ajax вызова):

$.get(base_url + 'path/file' , function(data){}); 

дело в том, что с этим решением вам придется реорганизовать код.

+0

Я не могу реорганизовать библиотеки, но, конечно, это хорошее решение для моего кода. – Macros

Смежные вопросы