NodeJS accédant au fichier avec le chemin relatif [dupliquer]

cette question a déjà une réponse ici:

  • manière correcte de référencer les fichiers relatifs à la racine de l'application dans le noeud.Js 3 réponses

il semblait comme un problème simple. Mais je amn pas réussi à craquer. Au sein de helper1.js je voudrais accéder à foobar.json (à partir de config/dev/ )

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

je ne pouvais pas obtenir que cela fonctionne fs: comment faire pour localiser un dossier parent?

N'importe quelle aide ici serait grande.

37
demandé sur Community 2015-09-22 01:03:21

2 réponses

vous pouvez utiliser le module path pour rejoindre le chemin du répertoire dans lequel helper1.js vit au 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 sur Linux, OSX, et Windows en supposant un encodage UTF8.

88
répondu AerandiR 2015-09-22 02:40:11

de Simples! Le dossier nommé .. est le dossier parent, donc vous pouvez faire le chemin vers le fichier dont vous avez besoin comme tel

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

si vous aviez besoin de monter deux niveaux, vous écririez ../../ etc

un peu plus de détails à ce sujet dans cette SORTE de réponse et c'est les commentaires

12
répondu AdityaParab 2017-11-09 10:39:59