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

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

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

【问题讨论】:

    标签: javascript html path


    【解决方案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,事实证明 ./ 仅在非严格文档类型模式下有效,而 .在两种模式下都可以工作,这是一个链接stackoverflow.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】:

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

          【讨论】:

            猜你喜欢
            • 2020-11-12
            • 2015-08-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-04-12
            • 1970-01-01
            • 2017-03-16
            • 2020-04-22
            相关资源
            最近更新 更多