我怎么写这个回到父2层去找文件?
fs.readFile(__dirname + 'foo.bar');
我怎么写这个回到父2层去找文件?
fs.readFile(__dirname + 'foo.bar');
当前回答
如果你不确定父结点在哪里,这个会给你路径;
var path = require('path'),
__parentDir = path.dirname(module.parent.filename);
fs.readFile(__parentDir + '/foo.bar');
其他回答
你可以使用
path.join(__dirname, '../..');
你可以用不同的方法定位父文件夹下的文件,
const path = require('path');
const fs = require('fs');
// reads foo.bar file which is located in immediate parent folder.
fs.readFile(path.join(__dirname, '..', 'foo.bar');
// Method 1: reads foo.bar file which is located in 2 level back of the current folder.
path.join(__dirname, '..','..');
// Method 2: reads foo.bar file which is located in 2 level back of the current folder.
fs.readFile(path.normalize(__dirname + "/../../foo.bar"));
// Method 3: reads foo.bar file which is located in 2 level back of the current folder.
fs.readFile(__dirname + '/../../foo.bar');
// Method 4: reads foo.bar file which is located in 2 level back of the current folder.
fs.readFile(path.resolve(__dirname, '..', '..','foo.bar'));
试试这个:
fs.readFile(__dirname + '/../../foo.bar');
请注意相对路径开头的正斜杠。
最简单的方法是使用path.resolve:
path.resolve(__dirname, '..', '..');
看起来你需要路径模块。(路径。特别是正常化)
var path = require("path"),
fs = require("fs");
fs.readFile(path.normalize(__dirname + "/../../foo.bar"));