我们正在Nodejs中创建一个模块,我们想在用户文件夹(Windows)中读取JSON文件,但是系统变量“%userprofile%”不能与fs.readfilesync函数一起使用。
var fs = require('fs');
var myConfig = JSON.parse(fs.readFileSync('%userprofile%/manager-cli.json', 'utf8'));
错误:
Error: ENOENT: no such file or directory, open 'C:\angular\manager-cli\%userprofile%\manager-cli.json'
有人知道该问题的解决方案吗?或替代。
来源:https://github.com/jserra91/manager-cli/blob/master/bin/global.js
谢谢。
答案 0 :(得分:0)
您可以使用ospath
之类的软件包:
const path = require('path');
const ospath = require('ospath');
const fs = require('fs');
const filePath = path.join(ospath.home(), 'manager-cli.json');
const myConfig = JSON.parse(fs.readFileSync(filePath, 'utf8'));
// or possibly:
// const myConfig = require(filePath);
答案 1 :(得分:0)
使用process.env.USERPROFILE
。
在您的示例中:
var myConfig = JSON.parse(fs.readFileSync(process.env.USERPROFILE + '/manager-cli.json', 'utf8'));