gpt4 book ai didi

node.js - NodeJS readdir 并需要相对路径

转载 作者:搜寻专家 更新时间:2023-10-31 22:28:14 25 4
gpt4 key购买 nike

假设我有这个目录结构

/Project
/node_modules
/SomeModule
bar.js
/config
/file.json
foo.js

-

foo.js:
require('bar');

-

bar.js:
fs.readdir('./config'); // returns ['file.json']
var file = require('../../../config/file.json');

readdir 从被包含的文件 (foo.js) 工作并且需要从它被调用的文件 (bar.js) 工作是正确的吗?

还是我遗漏了什么?谢谢

最佳答案

作为Dan D.表示,fs.readdir 使用 process.cwd() 作为起点,而 require() 使用 __dirname。如果你愿意,你总是可以从一条路径解析到另一条路径,获取绝对路径将以相同的方式解释,如下所示:

var path = require('path');
route = path.resolve(process.cwd(), route);

这样,如果使用 __dirname 作为起点,它将忽略 process.cwd(),否则它将使用它来生成完整路径。

例如,假设process.cwd()/home/usr/node/:

  • 如果route./directory,它将变成/home/usr/node/directory
  • 如果route/home/usr/node/directory,它将保持原样

我希望它对你有用:D

关于node.js - NodeJS readdir 并需要相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13488501/

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