Ik ben nieuw bij node en kom deze fout tegen in een eenvoudige tutorial.
Ik gebruik OS X 10.8.2 en probeer dit vanuit CodeRunner en de Terminal.
Ik heb ook geprobeerd mijn module in de map node_modules
te plaatsen.
Ik zie dat dit een verbindingsprobleem is, maar ik heb geen idee waarom?
events.js:71
throw arguments[1]; // Unhandled 'error' event
^
Error: connect ECONNREFUSED
at errnoException (net.js:770:11)
at Object.afterConnect [as oncomplete] (net.js:761:19)
app.js:
var makeRequest = require('./make_request');
makeRequest("Here's looking at you, kid");
makeRequest("Hello, this is dog");
make_request.js:
var http = require('http');
var makeRequest = function(message) {
//var message = "Here's looking at you, kid.";
var options = {
host: 'localhost', port: 8080, path:'/', method: 'POST'
}
var request = http.request(options, function(response) {
response.on('data', function(data) {
console.log(data);
});
});
request.write(message);
request.end();
};
module.exports = makeRequest;
Antwoord 1, autoriteit 100%
De kans is groot dat u worstelt met het afsterven van node.js wanneer de server die u belt, weigert verbinding te maken. Probeer dit:
process.on('uncaughtException', function (err) {
console.log(err);
});
Dit houdt uw server draaiende en geeft u ook een plaats om de debugger te koppelen en een dieper probleem te zoeken.
Antwoord 2, autoriteit 20%
Ik had hetzelfde probleem met geest en heroku.
heroku config:set NODE_ENV=production
het is opgelost!
Controleer uw configuratie en omgeving waarop de server draait.
Antwoord 3, autoriteit 16%
U probeert verbinding te maken met localhost:8080 … draait er een service op uw localhost en op deze poort? Als dit niet het geval is, wordt de verbinding geweigerd, wat deze fout veroorzaakt. Ik zou willen voorstellen om eerst te controleren of er iets draait op localhost:8080.
Antwoord 4, autoriteit 11%
Je moet een server hebben die draait op poort 8080 wanneer je de bovenstaande code uitvoert die het verzoek eenvoudig terugstuurt via het antwoord. Kopieer onderstaande code naar een apart bestand (zeg ‘server.js’) en start deze server met het node commando (node server.js). U kunt uw bovenstaande code (node app.js) dan afzonderlijk uitvoeren vanaf een afzonderlijke opdrachtregel.
var http = require('http');
http.createServer(function(request, response){
//The following code will print out the incoming request text
request.pipe(response);
}).listen(8080, '127.0.0.1');
console.log('Listening on port 8080...');
Antwoord 5, autoriteit 11%
Soms kan het voorkomen als er een databaseverbinding in uw code is, maar u de databaseserver nog niet hebt gestart.
In mijn geval heb ik een stukje code om verbinding te maken met mongodb
mongoose.connect("mongodb://localhost:27017/demoDb");
nadat ik de mongodb-server heb gestart met het commando mongod is deze fout verdwenen
Antwoord 6, autoriteit 7%
Als je op de MEAN-stack (Mongo-Express-AngularJS-Node) zit, voer dan eerst mongod uit en deze foutmelding verdwijnt.
Antwoord 7, autoriteit 2%
Mensen komen deze fout tegen wanneer het Node.js-proces nog steeds actief is en ze proberen de server opnieuw te starten. Probeer dit:
ps aux | grep node
Hiermee wordt iets afgedrukt in de trant van:
user 7668 4.3 1.0 42060 10708 pts/1 Sl+ 20:36 0:00 node server
user 7749 0.0 0.0 4384 832 pts/8 S+ 20:37 0:00 grep --color=auto node
In dit geval is het proces dat met de pid 7668. Om het te doden en de server opnieuw op te starten, voer je kill -9 7668
uit.
Antwoord 8, autoriteit 2%
Controleer met het starten van mysql in terminal. Gebruik onderstaande opdracht
mysql-ctl start
In mijn geval werkte het
Antwoord 9
De Unhandled 'error' event
verwijst naar het niet verstrekken van een functie aan het verzoek om fouten door te geven. Zonder deze gebeurtenis eindigt het knooppuntproces met de fout in plaats van gracieus te falen en daadwerkelijke feedback te geven. Je kunt de gebeurtenis net voor de regel request.write
instellen om eventuele problemen op te vangen:
request.on('error', function(err)
{
console.log(err);
});
Meer voorbeelden hieronder:
https://nodejs.org/api/http.html#http_http_request_options_callback
Antwoord 10
Voer server.js uit vanaf een andere opdrachtregel en client.js vanaf een andere opdrachtregel
Antwoord 11
Had een soortgelijk probleem, het bleek dat de afgedrukte luisterpoort anders was dan hij in werkelijkheid was. Typfouten in de verzoekreeks of luisterfunctie kunnen ervoor zorgen dat de doelserver niet lijkt te bestaan.
Antwoord 12
ECONNREFUSED
-fout betekent dat er geen verbinding kon worden gemaakt met de doelservice (in uw geval localhost:8080
). Controleer of uw service op poort 8080 draait.
Raadpleeg deze doc voor meer informatie over node.js-fouten.