node.js-NodeJS使用相对路径访问文件

这个问题在这里已有答案:

  • 相对于Node.JS中的应用程序根目录引用文件的正确方法                                     3个答案

这似乎是一个直接的问题。 但我无法破解。在helper1.js中,我想访问foobar.json(来自config/dev/

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

我无法使它正常工作fs:如何找到父文件夹?

这里的任何帮助将是巨大的。

lonelymo asked 2019-11-08T02:48:10Z
2个解决方案
133 votes

您可以使用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');

假设使用UTF8编码,则此方法应在Linux,OSX和Windows上运行。

AerandiR answered 2019-11-08T02:48:33Z
10 votes

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

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

如果需要上两个级别,则可以写../../

在这个SO答案及其注释中对此有更多详细信息

AdityaParab answered 2019-11-08T02:49:11Z
translate from https://stackoverflow.com:/questions/32705219/nodejs-accessing-file-with-relative-path