如何使用express.js获取JSON文件?我希望能够在我的Mac终端中访问它.我正在进行大学任务,要求我编写一个充当简单数据存储的HTTP服务器.它必须响应GET,PUT,POST和DELETE请求.我必须使用express.js代替fs这个应用程序.
到目前为止,在我的根目录中,我有一个server.js文件,我有一个名为lib的子目录,它包含另一个名为notes的子目录. Notes是JSON文件所在的位置.
在我的根目录中,我有一个server.js文件.这就是我到目前为止所做的一切:
'use strict'
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
var notes = './lib/notes';
app.use(bodyParser.json());
app.get('/', function(req, res) {
//
//this is the part I need help with
//
}
var port = process.env.PORT || 3000;
app.listen(port, function() {
console.log('Server started on port ' + port;
});
一旦我有这个GET请求工作,从我的Mac终端我应该能够发送一个GET请求并接收notes目录中的所有JSON文件.
解决方法:
…from my Mac terminal I should be able to send a GET request and
receive all JSON files inside the notes directory.
如果你不想使用fs模块(你也不需要),
您可以简单地为GET请求设置路由并发送json文件以响应app.sendFile()
app.get('/',function(req,res){
res.sendFile(path.normalize(__dirname + '/foo.json'))
//assuming your app.js and json file are at same level.
//You may change this to 'lib/notes/foo.json' to fit you case
})
path是您需要()的模块.
__dirname是当前正在执行的脚本所在的目录.
最后foo.json是包含你的json的文件
{
"name":"nalin",
"origin":"stackoverflow"
}
这是app.js的完整代码
var express = require('express');
var path = require('path');
var app = express();
app.get('/',function(req,res){
res.sendFile(path.normalize(__dirname + '/foo.json'))
})
app.listen(3000);
这将帮助您使用节点app.js运行节点服务器.
最后你可以通过by访问json
>在浏览器上访问http:// localhost:3000 /
>通过在mac终端上运行curl命令curl localhost:3000
希望这可以帮助.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。