我怎么写这个回到父2层去找文件?
fs.readFile(__dirname + 'foo.bar');
我怎么写这个回到父2层去找文件?
fs.readFile(__dirname + 'foo.bar');
当前回答
最简单的方法是使用path.resolve:
path.resolve(__dirname, '..', '..');
其他回答
使用路径。加入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"),
fs = require("fs");
fs.readFile(path.normalize(__dirname + "/../../foo.bar"));
最简单的方法是使用path.resolve:
path.resolve(__dirname, '..', '..');
我在运行电子应用程序我可以通过path。resolve()获取父文件夹
父1级:路径。解析(__dirname, '..') + '/'
父2级:路径。解决(__dirname”. .', '..') + '/'
如果另一个模块调用你的,你仍然想知道正在运行的主文件的位置,你可以使用@Jason的代码修改:
var path = require('path'),
__parentDir = path.dirname(process.mainModule.filename);
fs.readFile(__parentDir + '/foo.bar');
通过这种方式,您将获得实际运行的脚本的位置。