就 HTML 文件路径位置而言,“./”(点斜杠)指的是啥?

Posted

技术标签:

【中文标题】就 HTML 文件路径位置而言,“./”(点斜杠)指的是啥?【英文标题】:What does "./" (dot slash) refer to in terms of an HTML file path location?就 HTML 文件路径位置而言,“./”(点斜杠)指的是什么? 【发布时间】:2011-11-27 07:42:12 【问题描述】:

我知道../ 表示上路,但./ 究竟是什么意思?

我最近正在阅读一个教程,它似乎只是指同一位置的一个文件,所以有必要吗?如果仅此而已,我可以不使用它吗?

【问题讨论】:

【参考方案1】:

.是当前目录的简写,在Linux和Unix中用于在当前目录执行编译程序。这就是为什么您在 Web 开发中很少看到它使用的原因,除了开源的非 Windows 框架,例如 Google Angular,它是由困在开源平台上的人们编写的。

./ 也解析为当前目录,在 Web 中是非典型的,但在一些开源框架中支持作为路径。因为它解析为与 no path 相同的未使用的当前文件目录。示例:./image.jpg = image.jpg。同样,这是 Unix 操作系统的遗留物,出于安全原因,需要像这样的路径解析来运行可执行文件和解析路径。它不是典型的网络路径。这就是为什么这种语法是多余的。

../ 是一个向上一个目录的传统网络路径

/ 是您网站的根目录

以下这些路径解析是正确的...

./folder= folder 在网络路径解析中总是如此

./file.html = file.html 在网络路径解析中总是如此

./ = no path 空路径与网络世界中的./ 相同

no path = /如果您的文件在根目录中,则空路径与Web根目录相同

./ = / 仅当您位于根文件夹中时

../ = / 仅当您位于 web 根目录下的一个文件夹时

【讨论】:

【参考方案2】:

关于路径

的快速简要回顾

绝对路径

http://website.com/assets/image.jpg 如果图片不在您的域中 - 去那里查找图片


//website.com/assets/image.jpg 使用 http 或 https 协议加载的图像


相对路径

(如果图像在同一服务器上,则供内部使用


image.jpg图像与调用图像的文档位于同一位置!


./image.jpg 同上,图片和调用图片的文档在同一个地方!


/assets/image.jpg类似于绝对路径,只是省略了协议和域名 从我的根文件夹/ 开始搜索我的图像,而不是进入assets/


assets/image.jpg 这次 assets 与文档在同一个位置,所以进入 assets 获取图片


../assets/image.jpg 从文档所在的位置转到一个文件夹返回../并进入assets


../../image.jpg 转到两个文件夹返回,这是我的图片!


../../assets/image.jpg 转到两个文件夹返回 ../../ 然后进入 assets

【讨论】:

有没有办法在不使用域名的情况下说“转到最终根目录,然后按照此路径”(即,如果您需要站点在暂存环境中工作)?还是你只需要做类似../../../../../../../../../../../../../.. /../../../../../../../../../../../../../../../../. ./../../images/image.jpg 并希望涵盖所有可能的情况? @Mark 如果我的问题没问题,您需要“返回(无限期)直到root,然后输入images。参见相对路径和第三个示例/images/image. jpg【参考方案3】:

参考快速参考列表,具体可以使用以下内容:

\.\ 根目录+当前目录(盘符)

【讨论】:

【参考方案4】:

例如css文件在CSS文件夹中,html文件在HTML文件夹中,这两个文件夹都在XYZ文件夹中,这意味着我们将html中的css文件称为

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

这里.. 向上移动到HTML.指的是当前目录XYZ

---按照这种逻辑,您可以将其引用为:

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

【讨论】:

第二个参考 "CSS/style.css" 对我不起作用,也许你的意思是 "../CSS/style.css"【参考方案5】:

/ 表示当前驱动的根目录;

./表示当前目录;

../ 表示当前目录的父目录。

【讨论】:

是否“header("Location: ../");"重定向到父目录? ./index.html 与 index.html 有何不同? 我有一段来自模板的代码,它包含././这是什么意思? @AaronFranke 翻译成英文,意思是“这个目录,这个目录”,所以它相当于./(“这个目录”),./././(“这个目录” , 这个目录, 这个目录"), ././././ 等等。【参考方案6】:

您可以使用以下列表作为快速参考:

   /   = 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/

【讨论】:

“这个位置”和“当前目录”有什么区别?谢谢。 @WebBrother,事实证明 ./ 仅在非严格文档类型模式下有效,而 .在两种模式下都可以工作,这是一个链接***.com/questions/296873/… 谢谢。这个清晰的解释只是解决了一个如此基本的问题,我不好意思大声问。【参考方案7】:

./working 文件所在的文件夹:

所以在/index.htm./是根目录 但在/css/style.css ./ 是css文件夹。

记住这一点很重要,因为如果将 CSS 从 /index.htm 移动到 /css/style.css,路径将会改变。

【讨论】:

这如何回答这个问题?显然,Simon Suh 理解 ./ 指的是引用文件所在的同一位置。那么问题的主要部分是:“为什么要使用它,是否有必要?”。我能够找到更喜欢“./file”而不是“file”的语法的唯一原因是 ./ 表示当前文件夹且仅表示当前文件夹。因此,如果有某种工具/编译器/等搜索文件,那么“./file”将仅在当前文件夹中搜索,而“文件”将搜索该工具配置为搜索的任何位置(例如根目录、当前文件夹等) 那么./abc.htmabc.htm 有什么区别? @Teemoh 它们在 JS、HTML 和 CSS 中是一样的。 “./”是一种旧的编程约定,它延续到这些较新的语言中。在其他情况下,它们可能意味着不同的东西。例如。如果在操作系统中设置了“路径”,abc.exe 可能是一个文件,而 ./abc.exe 可能不是。 @MarcelToth 你真的应该发布这个作为答案! “scripts/**/*.js”是什么意思?它是告诉我们选择脚本文件夹下的所有“js”文件吗?【参考方案8】:

是的./ 表示您当前所在的目录。

【讨论】:

这有点误导。 ./thisfile.txt 并不总是等同于 /thisfile.txt。这完全取决于代码在哪个目录中执行。 @JonathanNewmuis 是对的。/thisfile.txt 不是明确的 /thisfile.txt 那么如果代码在不同的地方执行,./会引用原来的地方吗?【参考方案9】:

你是对的,你可以省略它。它仅对清晰有用。它存在和不存在之间没有功能上的区别。

【讨论】:

It's useful only for clarity. 或混淆,在 OP 的情况下 - 和我的。 :) 在html5中导入javascript文件时不能省略。例如,如果您在一个目录中有一个文件夹 js 和一个 index.html 文件:在 html 5 中声明的 是正确的,但如果您省略了 '. '符号,它不会加载文件。 @MaXi32 - 在您的示例中,&lt;script src="js/main.js"&gt;&lt;/script&gt; 将加载 HTML5 文件以及 ./js/main.js【参考方案10】:
.  = This location
.. = Up a directory

所以,./foo.html 就是 foo.html。它是可选的,但如果脚本生成了路径,则可能具有相关性(与 脚本 的相关性,即与参考的工作方式无关)。

【讨论】:

【参考方案11】:

是的,./ 表示当前工作目录。您可以直接按名称引用文件,而不使用它。

【讨论】:

以上是关于就 HTML 文件路径位置而言,“./”(点斜杠)指的是啥?的主要内容,如果未能解决你的问题,请参考以下文章

python之文件目录和路径

LeetCode-071-简化路径

VB.Net 2010中 ./和../的含义

关于相对路径和绝对路径

url后面带斜杠与不带斜杠有啥区别吗?

[Python 3系列]读写文件