./和../目录差异

时间:2018-06-17 02:22:44

标签: html node.js filesystems

我知道这个问题会得到如此多的支持,并会被标记为重复。

问题是我对这个问题进行了大量搜索,但从未得到满意的答案。

使用HTML中的源并且我们想要从HTML文件的同一文件夹中获取图像时,我们直接键入图像名称。如果它位于与HTML文件位于同一位置的文件夹中,我们键入文件夹名称,然后输入图像,依此类推....

如果图像位于包含HTML文件所在的另一个文件夹的文件夹中,那么我们希望退一步。我们输入../表示向后退一步,然后输入图像名称。

当我开始学习节点以及如何使用模块时,与节点文件位于同一文件夹中的模块必须使用./来导入,这被解释为'在同一文件夹中',而当我们导入模块时'fs'和'events'他们不需要./

有人可以解释为什么我们在html文件中不使用./而有时在节点中使用它们有时没有?!

2 个答案:

答案 0 :(得分:1)

我想解释一下,因为节点默认导入设置。

喜欢&#39; fs&#39;和&#39; events&#39;,这些库是在安装了节点的情况下安装的,默认包含在内。这些将存储在系统目录中。就像<stdio.h>对于c,fs来自python。它是相应语言的默认库。

但是有时你写自己的库想要被其他节点文件导入,你应该使用相对路径导入...因为如果你不写'./',它将默认搜索存储的系统文件目录&#39; fs&#39;,&#39; http&#39;等等,节点将找不到您的库。

答案 1 :(得分:1)

在我们开始之前./../表示法用于相对引用文件。

  

为什么我们有时不在节点中使用./

我们在NodeJS中安装的所有模块都在node modules文件夹中。每当您需要模块require('fs')require('3rdparty')时。节点确切地知道在将模块安装为本地node_modules或全局node_modules中的文件夹的位置。然后它加载index.js,然后加载......

  

何时在节点中使用./

./是一种引用文件系统中文件的方式(相对方式)。如果您的脚本是文件系统的一部分而不是node_module的一部分,那么您可以根据文件位置使用“./”或“../”表示法

  

为什么我们不在HTML文件中使用./

正如@sami所说,您可以使用./或不使用./。它以两种方式工作。我工作的时候习惯了time。这更多是个人意见。

希望这有帮助。