繁体   English   中英

何时在Node.js中使用../ vs ./

[英]When to use ../ vs ./ in Node.js require()

var User = require('../ models / user');

因此,在Visual Studio中,我创建了一个名为models的文件夹,并在其中创建了一个名为user.js的文件。 据我了解,放置./models/user而不是两个点是有意义的。 尽管这使我崩溃了,但我想知道这可能是什么原因。 谢谢

. (一个点)是当前目录

.. (两个点)是目录

无论您使用哪种,都取决于您要加载的内容。

例:

假设您具有这些文件结构:

- app
  - dir1
    - file1.js
    - file2.js
  - dir2
    - file3.js

要使用file1.js中的file2.js,您需要:

require('./file2.js');

因为这些文件在同一目录中。

但是要使用file1.js中的file3.js,您需要:

require('../dir2/file3.js');

因为您需要从一个目录开始,而不要从当前目录开始。

当然要使用file1.js中的file2.js,这也可以工作:

require('../dir1/file2.js');

甚至这个:

require('../../app/dir1/file2.js');

甚至是这样的疯狂路径:

require('./././../../app/../app/../app/dir1/file2.js');

这不是特定于Node.js的。 它的工作方式与在shell或HTML或其他任何方式中相同。 一个点是当前目录,两个点是父目录。

这就是为什么使用./script在当前目录中运行script的原因(如果.不在PATH中),而您将运行../script在父目录中运行script等。在HTML <a href=".."></a>是指向父目录的链接, <a href="../file.html"></a>是指向父目录中的file.html的链接,而<a href="./file.html"></a>将是当前目录中file.html的链接,等等。这是一个相当普遍的约定。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM