0

我正在学习关于 node.js 的教程,并正在尝试运行一个应用程序。它昨天还在工作,但是由于在 get 请求中添加了 fetch ,所以它不起作用,我收到 ECONNREFUSED 错误。谁能帮我解决这个错误?非常感谢您的帮助!唐尼

最终代码是老师提供的,所以我检查了错误,甚至将他的代码粘贴到我的代码中,但仍然出现错误

老师提供了最终代码,我什至将其粘贴到我的代码中,购买仍然收到 ECONNREFUSED 错误

// HERE ARE THE DEPENDENCIES for this app:
const express = require('express');
const hbs = require('express-handlebars');
const bodyParser = require('body-parser');
const fetch = require('node-fetch');

//create an instance so we can start express
const app = express();

//add handlebars
app.engine('hbs', hbs({
  extname: 'hbs',
  defaultLayout: 'layout',
  layoutsDir: __dirname + '/views/layouts',
  partialsDir: __dirname + '/views/partials'
}));
app.set('view engine', 'hbs');

//CSS middleware
app.use("/css", express.static(__dirname + '/public/css'));
//JSON parser
const jasonParser = bodyParser.json();


//GET


app.get('/',(req,res)=>{

  fetch('http://localhost:3004/messages')
      .then(response => {
          response.json().then(json =>{
              res.render('home',{
                  articles: json
              })
          })
      })
      .catch(error => {
          console.log(error)
      })


})

app.get('/add_note', (req, res)=>{
    res.render('add_note')
})

//POST

app.post('/api/add_note', jasonParser, (req, res)=> {

  fetch('http://localhost:3004/messages',{
    method: 'POST',
    body:JSON.stringify(req.body),
    headers: {
      'Content-Type': 'application/json'
    }
  }).then((response)=>{
    res.status(200).send()
  })
})





const port = process.env.PORT || 3000;
app.listen(port,()=>{
  console.log(`Server up on port ${port}`)  
});




错误消息说:'对http://localhost:3004/messages的请求失败,原因:ECONNREFUSED 127.0.0.1:3004'

类型:'system',errno:'ECONNREFUSED' 代码:'ECONNREFUSED'

4

1 回答 1

0

可能只是删除 /etc/hosts 文件中的这一行

::1   localhost

会出什么问题?

于 2022-03-01T14:37:14.770 回答