NodeJS доступ к файлу с относительным путем
Это казалось прямой проблемой. Но я не могу это взломать.
В helper1.js я хотел бы получить доступ к foobar.json(от config/dev/
)
root
-config
--dev
---foobar.json
-helpers
--helper1.js
Я не мог заставить это работать fs: как найти родительскую папку?
Любая помощь здесь будет большой.
Ответы
Ответ 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 и комментарии