Що означає "./" (косою косою точкою) стосовно місця розташування шляху HTML-файлу?


228

Я знаю, ../значить, піти вгору по шляху, але що ./саме означає?

Нещодавно я проходив підручник, і, здається, йдеться лише про файл у тому самому місці, тож це взагалі потрібно? Чи можу я просто не використовувати його, якщо це все, що він робить?

Відповіді:


136

./це папка, в якій знаходиться робочий файл:

Так у /index.htm ./кореневому каталозі,
але в /css/style.css ./папці css.

Це важливо пам'ятати , тому що якщо ви рухаєтеся CSS від /index.htmдо /css/style.cssшляху зміниться.


45
Як це відповідає на питання? Мабуть, Саймон Су розуміє, що ./ посилається на те саме місце, де знаходиться файл, що посилається. Основна частина запитання тоді: "Навіщо його використовувати і чи потрібно взагалі?". Єдина причина віддати перевагу синтаксису "./file" замість "файлу", яку я зміг знайти, це те, що ./ означає поточну папку та ТІЛЬКИ поточну папку. Отже, якщо є якийсь інструмент / компілятор / тощо, який шукає файл, то "./file" буде шукати ТІЛЬКИ у поточній папці, тоді як "файл" буде шукати, де інструмент налаштований для пошуку (наприклад, root, поточна папка та ін.)
Марсель Тот

12
Так у чому різниця між ./abc.htmі справедливими abc.htm?
Teemoh

12
@Teemoh Вони однакові у JS, HTML та CSS. "./" - це стара програма програмування, яка переноситься на нові мови. В інших умовах вони могли означати різні речі. напр. якщо в OS встановлено "шлях" до файлу, abc.exe може бути файлом, а ./abc.exe - може.
Кумі

@MarcelToth Ви дійсно повинні опублікувати це як відповідь!
Адам

285

/ означає корінь поточного накопичувача;

./ означає поточний каталог;

../ означає батько поточного каталогу.


Чи "заголовок (" Розташування: ../ ");" переадресація до батьківського каталогу?
belford

3
чим ./index.html відрізняється від тільки index.html?
N-ate

1
У мене є фрагмент коду з шаблону, він містить, ././що це означає?
Аарон Франке

120

Ви можете використовувати такий список як швидку довідку:

   /   = Root directory
   .   = This location
   ..  = Up a directory
   ./  = Current directory
   ../ = Parent of current directory
   ../../ = Two directories backwards

Корисна стаття: https://css-tricks.com/quick-reminder-about-file-paths/


13
Яка різниця між "Це місце" та "Поточний каталог"? Дякую.
WebBrother

2
@WebBrother, Як виявилось ./ працює лише в режимі нестрогого дотипу, поки. працює в обох режимах, ось посилання stackoverflow.com/questions/296873/…
Макаров Сергій

Дякую. Це чітке пояснення просто вирішило проблему, настільки основну, що я соромився запитати вголос.
Протікаючий Едді

57
.  = This location
.. = Up a directory

Отже, ./foo.htmlпросто foo.html. І це необов'язково, але може мати значення, якщо сценарій генерував шлях (стосується сценарію , тобто не того, як працює посилання).


38

Так, ./означає поточний робочий каталог. Ви можете просто посилатися на файл безпосередньо по імені, без нього.


11

Ви праві, що можете опустити це. Це корисно лише для ясності. Не існує функціональної різниці між тим, що там бути і не бути там.


16
It's useful only for clarity.Або плутанина, у випадку ОП - і моя. :)
ANeves

Ви не можете опустити його, коли ви імпортуєте файл JavaScript у html5. Наприклад, якщо у вас є папка js та файл index.html в одному каталозі: <скрипт src = "./ js / main.js"> </script> оголошений у html 5 є правильним, але якщо ви опустите це '. ' позначення, файл не завантажиться.
MaXi32

4
@ MaXi32 - У вашому прикладі <script src="js/main.js"></script>буде завантажено файл у HTML5, а також./js/main.js
pmrotule

9

Швидкий і невеликий резюме про шляхи

Абсолютні шляхи

http://website.com/assets/image.jpg
Якщо зображення не у вашому домені, перейдіть до зображення


//website.com/assets/image.jpg
зображення завантажується за допомогою протоколів http або https


Відносні шляхи

(Для внутрішнього використання, якщо зображення знаходиться на одному сервері)


image.jpg
зображення в тому самому місці, що і документ, що викликає зображення!


./image.jpg
Як і вище, зображення в тому самому місці, що і документ, що викликає зображення!


/assets/image.jpg
Подібно до Absolute Paths, просто опустивши протокол та ім’я домену.
Перейдіть до пошуку мого зображення, починаючи з моєї кореневої папки /, ніж уassets/


assets/image.jpg
цього разу активи знаходяться там же, що і документ, тому перейдіть до активів для зображення


../assets/image.jpg
Звідки знаходиться документ, поверніться до однієї папки назад ../ та увійдіть уassets


../../image.jpg
поверніться дві папки назад , там моє зображення!


../../assets/image.jpg
поверніться до двох папок назад ../../ і потім увійдіть assets


Чи є спосіб сказати "перейти до останнього корінця, а потім слідувати цим шляхом", не використовуючи доменне ім’я (тобто, якщо вам потрібен сайт для роботи в інсценуванні)? Або вам просто потрібно зробити щось на кшталт ../../../../../../../../../../../../../ .. /../../../../../../../../../../../../../../../../../. ./../../images/image.jpg і сподіваєтесь, що охоплює кожен можливий сценарій?
Каплиця Марка

1
@ Марк, якщо я правильно зрозумів ваше запитання, вам потрібно "повернутися назад (невизначений час) до кореня, а потім увійти images. Див. Відносні шляхи та третій приклад/images/image. jpg
Roko C.

2

Так, це ./означає, що ви перебуваєте в цьому каталозі


8
Це трохи вводить в оману. ./thisfile.txtне завжди рівнозначно /thisfile.txt. Це повністю залежить від того, в якому каталозі виконується код.
Джон Ньюмуас,

@JonathanNewmuis має рацію ./thisfile.txt не є явно /thisfile.txt
Coomie

Так що, якщо код виконується в іншому місці, ./буде посилатися на оригінальне місце?
CodyBugstein

2

Наприклад, файли css знаходяться в папці з ім'ям, CSSа html-файли - у папці HTML, і обидва вони знаходяться у папці з іменем XYZозначає, що ми посилаємо файли css у html як

<link rel="stylesheet" type="text/css" href="./../CSS/style.css" />

Тут ..рухається до HTML
та .посилається на поточний каталогXYZ

--- за цією логікою ви б просто посилалися як:

<link rel="stylesheet" type="text/css" href="CSS/style.css" />

3
Друга довідка "CSS/style.css"для мене не працювала, можливо, ви мали на увазі "../CSS/style.css"?
ajax333221

-1

Стосовно списку швидкого посилання, конкретно, ви можете використовувати наступне:

\. \ Root Directory + Поточний каталог (Letter Drive)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.