Зачем вообще нужен относительный путь, если можно всегда писать полный?
Я понял, что абсолютный путь — это полный адрес от диска (C:\Users\Вася\сайт\img\кот.jpg), а относительный — короткий (img/кот.jpg). Но не понимаю смысла: зачем городить относительные, если полный работает всегда и точно? В чём прикол коротких?
2 ответа
Прикол в переносимости. Абсолютный путь намертво привязан к конкретному компьютеру: там должна быть и буква диска C:, и папка Вася, и вся цепочка. Стоит перенести проект на другой компьютер, отдать другу или залить на хостинг — у него нет папки C:\Users\Вася, и всё ломается.
Относительный путь говорит «от того места, где я сейчас»: img/кот.jpg значит «папка img рядом со мной, в ней кот.jpg». Где бы ни лежал весь проект целиком — связь между файлами сохраняется. Поэтому в сайтах картинки и стили почти всегда подключают относительными путями: тогда сайт работает и у тебя на компьютере, и на сервере, и у любого другого человека без правок.
Короткое правило: внутри своего проекта — относительные пути; абсолютный — только когда реально нужен файл из строго определённого места системы.
Пара полезных обозначений в относительных путях:
./файл— «в текущей папке» (точка = «тут»);../файл— «на папку выше» (две точки = «родительская папка»);../../img/кот.jpg— «поднимись на две папки вверх, затем зайди в img».
Это как «выйди из комнаты в коридор, потом в соседнюю дверь» — всё описывается относительно того, где ты стоишь сейчас.