使用相对路径访问 NodeJS 文件

这似乎是一个直截了当的问题,但我不能解决这个问题。 在 helper1.js 中,我想访问 foobar.json (来自 config/dev/)

root
-config
--dev
---foobar.json
-helpers
--helper1.js

我无法让这个工作 fs: how do I locate a parent folder?

如果能帮上忙就太好了。

176162 次浏览

可以使用 path模块将 helper1.js所在目录的路径与 foobar.json的相对路径连接起来。这将为您提供到 foobar.json的绝对路径。

var fs = require('fs');
var path = require('path');


var jsonPath = path.join(__dirname, '..', 'config', 'dev', 'foobar.json');
var jsonString = fs.readFileSync(jsonPath, 'utf8');

这应该可以在 Linux、 OSX 和 Windows 上使用 UTF8编码。

很简单!名为 ..的文件夹是父文件夹,因此您可以创建所需文件的路径

var foobar = require('../config/dev/foobar.json');

如果你需要上升两个级别,你会写 ../../

这么回答和它的评论中有更多关于这个的细节