问题
It seemed like a straight forward problem. But I amn't able to crack this.
Within helper1.js I would like to access foobar.json (from config/dev/
)
root
-config
--dev
---foobar.json
-helpers
--helper1.js
I couldn't get this to work fs: how do I locate a parent folder?
Any help here would be great.
回答1:
You can use the path
module to join the path of the directory in which helper1.js
lives to the relative path of foobar.json
. This will give you the absolute path to 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');
This should work on Linux, OSX, and Windows assuming a UTF8 encoding.
回答2:
Simple! The folder named ..
is the parent folder, so you can make the path to the file you need as such
var foobar = require('../config/dev/foobar.json');
If you needed to go up two levels, you would write ../../
etc
Some more details about this in this SO answer and it's comments
来源:https://stackoverflow.com/questions/32705219/nodejs-accessing-file-with-relative-path