微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – express.js到终端中的GET json文件

如何使用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] 举报,一经查实,本站将立刻删除。

相关推荐