Подтвердить что ты не робот

NodeJS доступ к файлу с относительным путем

Это казалось прямой проблемой. Но я не могу это взломать. В helper1.js я хотел бы получить доступ к foobar.json(от config/dev/)

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

Я не мог заставить это работать fs: как найти родительскую папку?

Любая помощь здесь будет большой.

4b9b3361

Ответ 1

Вы можете использовать модуль 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.

Ответ 2

Simple! Папка с именем .. является родительской папкой, поэтому вы можете указать путь к файлу, который вам нужен как таковой

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

Если вам нужно подняться на два уровня, вы должны написать ../../ и т.д.

Более подробная информация об этом в this SO answer и комментарии