NodeJS readdir并要求相对path
比方说,我有这个目录结构
/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.所expression的,fs.readdir使用process.cwd()
作为开始点,而require()
使用__dirname
。 如果你愿意的话,你总是可以从一条path走向另一条path,得到一条绝对path都会以同样的方式解释,如下所示:
var path = require('path'); route = path.resolve(process.cwd(), route);
这样,如果使用__dirname作为起点,它将忽略process.cwd(),否则它将使用它来生成完整path
asume process.cwd() == '/home/usr/node/' if route == './directory' it would become '/home/usr/node/directory' if route == '/home/usr/node/directory' it will be left as is
我希望它适合你:D