NodeJs-Javascript-readFileSync

时间:2018-11-15 14:53:25

标签: javascript node.js

我们正在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

谢谢。

2 个答案:

答案 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'));