【发布时间】:2020-05-28 01:39:46
【问题描述】:
我正在接收来自我的客户端的发布请求,我正在编辑存储在服务器本地的 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...
如何在我的 axios.post() 请求中读取(和写入)文件?我在这里错过了什么吗?
编辑:我的客户端当前正在端口 3001 上运行代理
【问题讨论】: