[英]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.