我怎么写这个回到父2层去找文件?

fs.readFile(__dirname + 'foo.bar');

当前回答

这也可以:

fs.readFile(`${__dirname}/../../foo.bar`);

其他回答

试试这个:

fs.readFile(__dirname + '/../../foo.bar');

请注意相对路径开头的正斜杠。

使用路径。加入http://nodejs.org/docs/v0.4.10/api/path.html path.join

var path = require("path"),
    fs = require("fs");

fs.readFile(path.join(__dirname, '..', '..', 'foo.bar'));

Path.join()将为你处理开头/结尾斜杠,只是做正确的事情,你不必试图记住什么时候结尾斜杠存在,什么时候不存在。

如果你不确定父结点在哪里,这个会给你路径;

var path = require('path'),
    __parentDir = path.dirname(module.parent.filename);

fs.readFile(__parentDir + '/foo.bar');

你可以使用

path.join(__dirname, '../..');

看起来你需要路径模块。(路径。特别是正常化)

var path = require("path"),
    fs = require("fs");

fs.readFile(path.normalize(__dirname + "/../../foo.bar"));