絕對路徑相對路徑原理筆記

絕對路徑與相對路徑的原理

本文先記錄了絕對路徑與相對路徑分別長什么樣,然后是演示示例的文件結構和相對路徑的表示方法,最后是演示示例。

1.絕對路徑與相對路徑

/public/image.jpg這樣以"/"開頭的路徑是絕對路徑,像./public/image.jpg../public/image.jpg../../public/image.jpg這樣分別以'./''../''../../'開頭,或者像public/image.jpg這樣開頭什么也不加的路徑是相對路徑。
假設有如下幾個文件:

  • public/Dir1/SubDir1/Ref1.html
  • public/Dir1/SubDir2/Ref2.html
  • public/Dir2/SubDir3/Ref3.html
  • public/Dir2/SubDir4/Ref4.html
  • public/Dir2/SubDir4/SubDir5/Ref5.html
  • public/Dir2/Ref6.html
    他們有的路徑層次較多,有的路徑層次較淺,這時我選一個public/Dir2/SubDir4/Ref4.html這個路徑層次處于中間位置比較特殊的文件作為研究對象,來探究絕對路徑與相對路徑的表示方法。

2.文件層次結構如圖:

3.幾種相對路徑表示方法

  • 路徑開頭什么也沒有表示同級文件或目錄(我的rails項目中是這樣的)。
  • ../表示當前目錄。
  • ..'../'表示上一級目錄。
  • 以此類推,../../表示上上級目錄。

4.絕對路徑與相對路徑實例演示

4.1相對路徑的計算要先找到目標的父目錄,然后從其父目錄向下找到目標文件或文件夾,表示的時候運用上述幾種相對路徑的表示方法,我的項目是rails項目:

本起始頁是:public/Dir2/SubDir4/Ref4.html
  • 到達跟它同一目錄的public/Dir2/SubDir4/Ref7.html(路徑開頭什么也沒有表示同級文件或目錄):
    <a href="Ref7.html">"Ref7.html"</a>
    它到達 http://localhost:3000/Dir2/SubDir4/Ref7.html
  • 到達它同級文件public/Dir2/SubDir4/SubDir5的下一級目錄中文件public/Dir2/SubDir4/SubDir5/Ref5.html(路徑開頭什么也沒有表示同級文件或目錄SubDir5,然后補全具體路徑/Ref5.html,最后路徑如下):
    <a href="SubDir5/Ref5.html">"SubDir5/Ref5.html"</a>
    它到達 http://localhost:3000/Dir2/SubDir4/SubDir5/Ref5.html in my project
  • 到達它父級文件的同級文件public/Dir2/Ref6.html'../'表示上一級目錄/Dir2),這需要越過當前路徑SubDir4向上一級../到達/Dir2,然后向下到達Ref6.html:
    <a href="../Ref6.html">"../Ref6.html"</a>
    它到達 http://localhost:3000/Dir2/Ref6.html
  • 到達文件public/Dir1/SubDir1/Ref1.html,這需要越過當前路徑SubDir4向上兩級../..到達public,然后向下兩級到達到達public/Dir1/SubDir1,最后尋找Ref1.html
    <a href="../../Dir1/SubDir1/Ref1.html">"../../Dir1/SubDir1/Ref1.html"</a>
    它到達 http://localhost:3000/Dir1/SubDir1/Ref1.html
  • 同理到達public/Dir1/SubDir2/Ref2.html:
    <a href="../../Dir1/SubDir2/Ref2.html">"../../Dir1/SubDir2/Ref2.html"</a>
    它到達 http://localhost:3000/Dir1/SubDir2/Ref2.html
  • 如果到達public/Dir2/SubDir3/Ref3.html,這需要越過當前路徑SubDir4,向上一級../到達Dir2,然后向下到達/Dir2/SubDir3,尋找Ref3.html
    <a href="../SubDir3/Ref3.html">"../SubDir3/Ref3.html"</a>
    它到達 http://localhost:3000/Dir2/SubDir3/Ref3.html

4.2絕對路徑的計算從路徑開頭的'/'符號開始直至到達目標位置,示例如下:

本起始頁是:public/Dir2/SubDir4/Ref4.html

5總結:

  • 絕對路徑是指目錄下的絕對位置,直接到達目標位置,windows系統(tǒng)中通常是從盤符開始的路徑,Linux和Mac中通常從家目錄開始,完整的描述文件位置的路徑就是絕對路徑。如果在網站上,是以web站點根目錄如localhost:3000為參考基礎的目錄路徑。
  • 相對路徑就是指從這個文件所在的路徑開始計算的跟其它文件(或文件夾)的路徑關系。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容