Javascript 将JSON文件保存到express中的服务器(节点)
在express中具有此函数,可在文件夹中写入JSON文件Javascript 将JSON文件保存到express中的服务器(节点),javascript,node.js,express,Javascript,Node.js,Express,在express中具有此函数,可在文件夹中写入JSON文件 var savingtheJson=function(path, jsonObject, callback){ jsonfile.writeFile(file2, jsonO, callback); } 我想知道保存后如何从浏览器访问/读取此文件 如果我这样做: savingtheJson('/json/myfile.json', jsonObj, function(){ console.log("done
var savingtheJson=function(path, jsonObject, callback){
jsonfile.writeFile(file2, jsonO, callback);
}
我想知道保存后如何从浏览器访问/读取此文件
如果我这样做:
savingtheJson('/json/myfile.json', jsonObj, function(){
console.log("done it!");
});
当我转到浏览器并键入:
http://localhost:8080/json/myfile.json
当然,我从express中得到一个错误,无法得到。。。。因为我认为他正试图像一个特定的请求一样解决它
如何将此文件存储到为此目标声明的静态文件夹中
app.useexpress.static__dirname+'/public'
保存后如何访问此文件?首先,您需要定义将公开哪个文件夹,以便将json文件保存在其中 为此,您可以使用内置中间件 在下面的示例中,我创建了一个名为/users?name=wilson&age=32的端点,该端点接收查询数据,以便获取用户的姓名和年龄信息,然后您可以将其保存为名为person.json的文件 因此,在您使用上述端点之后,您将能够使用以下内容使用您的文件http://localhost:4040/person.json 成功
var express = require('express');
var app = express();
var port = 4040;
var fs = require('fs');
app.use(express.static('public'));
app.get('/users', function(req, res) {
var name = req.query.name;
var age = req.query.age;
var person = {
name: name,
age: age
};
savePersonToPublicFolder(person, function(err) {
if (err) {
res.status(404).send('User not saved');
return;
}
res.send('User saved');
});
});
function savePersonToPublicFolder(person, callback) {
fs.writeFile('./public/person.json', JSON.stringify(person), callback);
}
app.listen(port, function() {
console.log('server up and running at port: %s', port);
});
静态服务目录位于“/public”中,就像您提到的那样。但是在我看来,你应该在你的web服务中提供一个新的端点来检索文件。你的意思是在应用程序上创建一个端点来读取文件,就像在本例中使用这种os函数一样?您肯定不会像在服务器应用程序中那样读取文件。我的意思是创建一个新路由,例如/json/:myfile,并在GET上异步读取该文件。您只需调用require即可将json文件加载到变量中!