[英]how to run Simple node js api?
#server.js
var express = require('express');
var app = express();
var fs = require("fs");
app.get('/listUsers', function (req, res) {
fs.readFile( __dirname + "users.json", 'utf8', function (err, data) {
console.log( data );
res.end( data );
});
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
})
這是我的 server.js 代碼,我從中調用 user.json 文件獲取數據
#user.json
{
"user1" : {
"name" : "mahesh",
"password" : "password1",
"profession" : "teacher",
"id": 1
},
"user2" : {
"name" : "suresh",
"password" : "password2",
"profession" : "librarian",
"id": 2
},
"user3" : {
"name" : "ramesh",
"password" : "password3",
"profession" : "clerk",
"id": 3
}
}
這是我的文件,其中有我的用戶列表
但是當我運行應用程序時,我沒有得到任何數據
首先在嘗試獲取文件path
時使用路徑。
path.resolve(__dirname, "users.json");
其次,添加錯誤處理,因為您可能會收到錯誤,這就是您看不到數據的原因。
fs.readFile(path.resolve(__dirname, "users.json"), 'utf8', function (err, data) {
if (err) {
res.status(500);
res.end(err.message);
console.error(err);
return;
}
console.log( data );
res.end( data );
});
這應該使它按要求工作,
const express = require('express');
const app = express();
const fs = require("fs");
app.get('/listUsers', (req, res) => {
fs.readFile('user.json', (err,data) => {
if(err) res.status(500).send(err.message)
else {
let displayData = JSON.parse(data);
//console.log(displayData)
res.status(200).send(displayData);
}
});
})
app.listen(8081,() => console.log("Example app listening at port 8081"))
不使用fs
const user = require('./user.json')
app.get('/listUsers', (req, res) => {
res.send(user);
})
試試這個:
fs.readFile( __dirname + "/user.json", 'utf8', function (err, data) {
console.log( data );
res.end( data );
});
您可能只是輸入錯誤的文件名 - 您有 users.json 而不是 user.json
在文件名前添加 /
添加錯誤處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.