节点 - 将JSON文件加载到代码中

时间:2016-04-22 13:07:21

标签: javascript node.js

我有一个Node应用程序。在这个应用程序中,我有一个像这样的目录结构:

$user->addFavorite($favorite);

我的settings.json文件如下所示:

settings.json

library/
  ents/
    index.js
index.js
package.json
settings.json

文件中还有更多内容,但这与此问题无关。在./library/ents/index.js文件中,我有以下内容:

{
  "url":"http://www.example.com"
}

执行。但是,我希望看到settings.json文件的内容打印出来。相反,我只看到let settings = require('../../settings'); console.log(settings); 。我真的不明白为什么会这样。

2 个答案:

答案 0 :(得分:2)

require是加载amd模块,而不是以这种方式读取json,如果你想把你的文件保存为真正的json,你可以尝试类似的东西:

var fs = require('fs');
var obj = JSON.parse(fs.readFileSync('file', 'utf8'));

取自Using Node.JS, how do I read a JSON object into (server) memory?

答案 1 :(得分:0)

您可以将settings.json更改为settings.js,如下所示:

module.exports = {
  "url":"http://www.example.com"
}

然后

let settings = require('../../settings');