Apa yang dimaksud dengan “./” (dot slash) dalam hal lokasi jalur file HTML?

228

Saya tahu ../berarti menempuh jalan, tetapi apa ./artinya sebenarnya?

Saya baru-baru ini melalui tutorial dan sepertinya hanya merujuk pada file di lokasi yang sama, jadi apakah perlu sama sekali? Bisakah saya tidak menggunakannya jika hanya itu yang dilakukannya?

Simon Suh
sumber

Jawaban:

136

./adalah folder tempat file kerja :

Jadi in /index.htm ./adalah direktori root
tetapi in /css/style.css ./adalah folder css.

Ini penting untuk diingat karena jika Anda memindahkan CSS dari /index.htmke /css/style.cssjalur akan berubah.

Coomie
sumber
45
Bagaimana ini menjawab pertanyaan? Rupanya, Simon Suh mengerti bahwa ./ merujuk ke lokasi yang sama di mana file yang merujuk. Bagian utama dari pertanyaan itu adalah: "Mengapa menggunakannya dan apakah perlu sama sekali?". Satu-satunya alasan untuk lebih memilih sintaks "./file" daripada "file" yang dapat saya temukan adalah ./ berarti folder saat ini dan HANYA folder saat ini. Jadi jika ada semacam alat / kompiler / dll yang mencari file, maka './file' HANYA mencari di folder saat ini, sedangkan 'file' akan mencari di mana pun alat dikonfigurasi untuk mencari (misalnya root, folder saat ini , dll.)
Marcel Toth
12
Jadi apa perbedaan antara ./abc.htmdan adil abc.htm?
Teemoh
12
@ Teemoh Mereka sama dalam JS, HTML dan CSS. "./" adalah konvensi pemrograman lama yang terbawa ke dalam bahasa yang lebih baru ini. Dalam keadaan lain mereka bisa berarti hal yang berbeda. misalnya. jika "path" diatur dalam OS abc.exe bisa berupa file dan ./abc.exe mungkin tidak.
Coomie
@MarcelToth Anda benar-benar harus memposting ini sebagai jawaban!
Adam
285

/ berarti akar dari drive saat ini;

./ berarti direktori saat ini;

../ berarti induk dari direktori saat ini.

Sourabh
sumber
Apakah "tajuk (" Lokasi: ../ ");" redirect ke direktori induk?
belford
3
bagaimana ./index.html berbeda dari just index.html?
N-makan
1
Saya memiliki sepotong kode dari sebuah template, berisi ././apa artinya ini?
Aaron Franke
120

Anda dapat menggunakan daftar berikut sebagai referensi cepat:

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

Artikel bermanfaat: https://css-tricks.com/quick-reminder-about-file-paths/

GibboK
sumber
13
Apa perbedaan antara "Lokasi ini" dan "Direktori saat ini"? Terima kasih.
WebBrother
2
@ WebBrother, Ternyata ./ hanya bekerja dalam mode doctype tidak ketat, sementara. berfungsi di kedua mode, berikut adalah tautan stackoverflow.com/questions/296873/...
Makarov Sergey
Terima kasih. Penjelasan yang jelas ini baru saja menyelesaikan masalah sehingga dasar saya malu untuk bertanya dengan lantang.
Leaky Eddie
57
.  = This location
.. = Up a directory

Jadi, ./foo.htmladil foo.html. Dan itu opsional, tetapi mungkin memiliki relevansi jika skrip menghasilkan jalur (relevansi dengan skrip itu, bukan bagaimana cara kerjanya referensi).

Brad Christie
sumber
38

Ya, ./berarti direktori kerja saat ini. Anda bisa mereferensikan file secara langsung dengan nama, tanpa itu.

Brad
sumber
11

Anda benar bahwa Anda dapat menghilangkannya. Ini hanya berguna untuk kejelasan. Tidak ada perbedaan fungsional antara itu ada di sana dan tidak ada di sana.

Yevgeny Simkin
sumber
16
It's useful only for clarity.Atau kebingungan, dalam kasus OP - dan milikku. :)
ANeves
Anda tidak dapat menghilangkannya saat Anda mengimpor file javascript di html5. Misalnya jika Anda memiliki folder js dan file index.html dalam satu direktori: <script src = "./ js / main.js"> </script> yang dideklarasikan dalam html 5 benar tetapi jika Anda menghilangkan '. ' notasi, itu tidak akan memuat file.
MaXi32
4
@ MaXi32 - Dalam contoh Anda, <script src="js/main.js"></script>akan memuat file dalam HTML5 dan juga./js/main.js
pmrotule
9

Rekap cepat dan kecil tentang jalan

Jalan absolut

http://website.com/assets/image.jpg
JIKA gambar tidak ada di domain Anda - lihat di sana untuk gambar


//website.com/assets/image.jpg
gambar dimuat menggunakan protokol http atau https


Jalur relatif

(Untuk penggunaan internal jika gambar berada di server yang sama)


image.jpg
gambar di tempat yang sama dengan dokumen yang memanggil gambar!


./image.jpg
Sama seperti di atas, gambar di tempat yang sama dengan dokumen yang memanggil gambar!


/assets/image.jpg
Mirip dengan Absolute Paths, hanya menghilangkan protokol dan nama domain
Pergi mencari gambar saya mulai dari folder root saya /, daripada keassets/


assets/image.jpg
kali ini aset berada di tempat yang sama dengan dokumen, jadi pergilah ke aset untuk gambar


../assets/image.jpg
Dari tempat dokumen itu, buka satu folder kembali ../ dan masuk keassets


../../image.jpg
pergi dua folder kembali , ada gambar saya!


../../assets/image.jpg
pergi dua folder kembali ../../ dan dari mana ke assets

Roko C. Buljan
sumber
Apakah ada cara untuk mengatakan "pergi ke root utama dan kemudian ikuti jalan ini" tanpa menggunakan nama domain (yaitu, jika Anda memerlukan situs untuk bekerja di lingkungan pementasan)? Atau apakah Anda hanya perlu melakukan sesuatu seperti ../../../../../../../../../../../../../ .. /../../../../../../../../../../../../../../../../. ./../../images/image.jpg dan harapan yang mencakup setiap skenario yang mungkin?
Mark Chapel
1
@Mark jika saya menjawab pertanyaan Anda dengan benar, Anda harus "kembali (waktu tidak terbatas) sampai root, lalu masukkan images. Lihat jalur relatif dan contoh ketiga/images/image. jpg
Roko C. Buljan
2

Ya ./berarti direktori Anda saat ini.


sumber
8
Ini agak menyesatkan. ./thisfile.txttidak selalu sama dengan /thisfile.txt. Ini sepenuhnya tergantung pada direktori apa yang dijalankan oleh kode.
Jon Newmuis
@JonathanNewmuis benar ./thisfile.txt tidak secara eksplisit /thisfile.txt
Coomie
jadi jika kode dijalankan di tempat yang berbeda, ./akan merujuk ke tempat asli?
CodyBugstein
2

Sebagai contoh, file css ada di folder bernama CSSdan file html ada di folder HTML, dan keduanya ada di folder bernama XYZartinya kita merujuk file css di html sebagai

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

Di sini ..bergerak ke HTML
dan. merujuk ke direktori saat iniXYZ

--- oleh logika ini, Anda hanya akan merujuk sebagai:

<link rel="stylesheet" type="text/css" href="CSS/style.css" />
Jenifer Venitta
sumber
3
Referensi kedua "CSS/style.css"tidak berhasil untuk saya, mungkin maksud Anda "../CSS/style.css"?
ajax333221
-1

Mengacu pada daftar referensi cepat, secara khusus Anda dapat menggunakan yang berikut:

\. \ Root Directory + Direktori saat ini (Surat Drive)

Musaranio
sumber