gpt4 book ai didi

javascript - require(__dirname + path) 和 require(./path) 有什么区别

转载 作者:行者123 更新时间:2023-11-30 12:18:45 26 4
gpt4 key购买 nike

根据这个问题:What is the difference between __dirname and ./ in node.js?这两行应该是相同的:

require(__dirname + '/folder/file.js');
require('./folder/file.js');

我一直习惯使用第二个选项。但是现在一个项目,我接手了,之前的开发者每次都用require(__dirname + ...)

我个人认为它更难阅读,我想更改它,但也许我缺少这种语法的一些优点?还是它是首选版本,而我一直都做错了?

以防万一,库有时在启用 es6 的 node.js 上运行,有时在 io.js 上运行(没有额外的标志)。

最佳答案

当使用 require() 时没有区别,使用 __dirname 有点多余。模块加载器将负责为您正确解析路径。

当使用 fs 方法之一时,例如 fs.readFile,如果您当前的工作目录不等于 __dirname,就会有所不同。如果我想读取与我的脚本位于同一目录中的名为 file.txt 的文件的内容,我会这样做:

var Fs = require('fs');
var Path = require('path');

Fs.readFile(Path.join(__dirname, 'file.txt'), ...);

那么当我启动执行这段代码的 Node 进程时,我的cwd是什么并不重要。

关于javascript - require(__dirname + path) 和 require(./path) 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31672486/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com