Я получаю запрос от моего клиента, я редактирую файл JSON, который хранится локально на сервере
const dataPath = './data.json';
выше - это мой путь к данным
app.post('/table', (req, res) => { // CREATE
const id = req.body.params.id
console.log("reqid", id)
rowdata = req.body.params.userdata
console.log("rowdata", rowdata)
fs.readFile(dataPath, "utf-8", function(err, data){
if(err){
console.log(err)
}
console.log("axios post", data)
})
});
выше код в моем почтовом запросе. Когда функция readFile закомментирована следующим образом:
app.post('/table', (req, res) => { // CREATE
const id = req.body.params.id
console.log("reqid", id)
rowdata = req.body.params.userdata
console.log("rowdata", rowdata)
//fs.readFile(dataPath, "utf-8", function(err, data){
//if(err){
// console.log(err)
// }
// console.log("axios post", data)
// })
});
Я могу запустить сервер разработки и одновременно запустить свой клиент и сервер
> backendserver@1.0.0 dev /Users/Dustyik/Desktop/BTApp
> concurrently "npm run server" "npm run client"
[0]
[0] > backendserver@1.0.0 server /Users/Dustyik/Desktop/BTApp
[0] > nodemon server.js
[0]
[1]
[1] > backendserver@1.0.0 client /Users/Dustyik/Desktop/BTApp
[1] > npm start --prefix client
[1]
[0] [nodemon] 2.0.2
[0] [nodemon] to restart at any time, enter `rs`
[0] [nodemon] watching dir(s): *.*
[0] [nodemon] watching extensions: js,mjs,json
[0] [nodemon] starting `node server.js`
[1]
[1] > store@0.1.0 start /Users/Dustyik/Desktop/BTApp/client
[1] > set PORT=3002 && react-scripts start
Однако когда функция readFile не закомментирована, я не могу запустить сервер и клиент одновременно, и мой терминал выдает мне сообщение об ошибке
[0] Error: listen EADDRINUSE: address already in use :::3001
[0] at Server.setupListenHandle [as _listen2] (net.js:1306:16)
[0] at listenInCluster (net.js:1354:12)
[0] at Server.listen (net.js:1442:7)
[0] at Function.listen (/Users/Dustyik/Desktop/BTApp/node_modules/express/lib/application.js:618:24)
[0] at Object.<anonymous> (/Users/Dustyik/Desktop/BTApp/server.js:20:5)
[0] at Module._compile (internal/modules/cjs/loader.js:955:30)
[0] at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
[0] at Module.load (internal/modules/cjs/loader.js:811:32)
[0] at Function.Module._load (internal/modules/cjs/loader.js:723:14)
[0] at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10)
[0] Emitted 'error' event on Server instance at:
[0] at emitErrorNT (net.js:1333:8)
[0] at processTicksAndRejections (internal/process/task_queues.js:81:21) {
[0] code: 'EADDRINUSE',
[0] errno: 'EADDRINUSE',
[0] syscall: 'listen',
[0] address: '::',
[0] port: 3001
[0] }
[0] [nodemon] app crashed - waiting for file changes before starting...
[1] ℹ 「wds」: Project is running at http://192.168.1.74/
[1] ℹ 「wds」: webpack output is served from /
[1] ℹ 「wds」: Content not from webpack is served from /Users/Dustyik/Desktop/BTApp/client/public
[1] ℹ 「wds」: 404s will fallback to /index.html
[1] Starting the development server...
Как я могу прочитать (и записать) файл в моем топоре ios .post () запрос? я что-то здесь упускаю?
Изменить: мой клиент в настоящее время работает прокси на порт 3001