在Node.js中获取父目录名称


79

我正在使用Node.js,我想获取文件的父目录名称。我有文件"../test1/folder1/FolderIWant/test.txt"

我想得到"FolderIWant"

我试过了:

var path = require('path');
var parentDir = path.dirname(filename);

但是它又回来了../test1/folder1/FolderIWant

Answers:




40

丹尼尔·沃尔夫(Daniel Wolf)的答案是正确的,如果您想要父目录的完整路径,也可以:

require('path').resolve(__dirname, '..')

0
const path = require('path');

module.exports = path.dirname(process.mainModule.filename)

在任何地方使用它来获取根目录


它在mainModule上显示错误。未解决的变量mainModule
usman imtiaz

0

从06-2019开始使用node,我遇到了访问just的问题filename。因此,我只是对其进行了一点修改并使用:

path.dirname(__filename).split(path.sep).pop()

所以现在您将获得当前所在目录的目录名称,而不是完整路径。尽管先前的答案似乎可能对其他人有用,但对我来说却引起了问题,因为节点正在寻找const或变量,但找不到。


0

process.mainModule不推荐使用属性v14.0.0。如果foo.js由运行node foo.js(例如somedir / foo.js“),

const path = require("path");

module.exports = path.dirname(require.main.filename);

结果:somedir

使用require.main代替


0

没有任何节点模块(如路径)的最简单方法。您可以通过以下方式轻松获取根文件夹名称。

var rootFolder = __dirname.split('/').pop();
console.log(rootFolder);

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.