Cela semblait être un problème simple. Mais je ne suis pas capable de casser ça. Dans helper1.js, je souhaite accéder à foobar.json (à partir de config/dev/
)
root
-config
--dev
---foobar.json
-helpers
--helper1.js
Je ne pouvais pas faire fonctionner cela fs: comment localiser un dossier parent?
Toute aide serait la bienvenue.
Vous pouvez utiliser le module path
pour joindre le chemin du répertoire dans lequel helper1.js
habite le chemin relatif de foobar.json
. Cela vous donnera le chemin absolu vers 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');
Cela devrait fonctionner sous Linux, OSX et Windows en supposant un codage UTF8.
Facile! Le dossier nommé ..
est le dossier parent. Vous pouvez ainsi définir le chemin d'accès au fichier dont vous avez besoin.
var foobar = require('../config/dev/foobar.json');
Si vous aviez besoin de monter de deux niveaux, vous écririez ../../
etc
Quelques détails supplémentaires à ce sujet dans this SO answer et ses commentaires.