2013-09-05 3 views
0

J'utilise la bibliothèque fs pour lire les fichiers du système. Je ne sais pas que j'utilise cette bibliothèque et rencontre une erreur.Bibliothèque fs: Erreur lors de l'utilisation

  1. J'utilise PhpStorm. à la ligne: fs.readFile(): il y a une ligne dessous, qui me remarque: fonction ou méthode non résolue readFile(). Cela signifie qu'IDE ne comprend pas où est cette fonction. Néanmoins, j'ai vérifié fs.js et je ne vois aucun problème.

  2. Je reçois cette erreur lors de l'exécution:

events.js:72 throw er; // Unhandled 'error' event ^Error: listen EADDRINUSE at errnoException (net.js:901:11) at Server._listen2 (net.js:1039:14) at listen (net.js:1061:10) at Server.listen (net.js:1127:5) at Object. (/home/hqt/PhpstormProjects/NodeApp/sample/AsynchronouslyReading.js:21:4) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10)

Voici mon code:

var http = require('http'); 
var fs = require('fs'); 

// create http server 
http.createServer(function(req, res) { 
    fs.readFile('helloworld.js', 'utf-8', function(err, data) { 
     res.writeHead(200, {'content-type' : 'text/plain'}); 
     if (err) res.write('could not find or open file'); 
     else res.write(data); 

     // ending 
     res.end(); 
    }); 
}).listen(8124, function() {console.log('server is running at 8124');}); 

console.log('server is runnint at 8124 port'); 

S'il vous plaît me aider à comprendre pourquoi. J'utilise la machine Ubuntu pour le développement.

Merci :)

Répondre

2

C'est parce que quelque chose d'autre est déjà à l'écoute sur le port 8124. Sur Linux, vous pouvez utiliser quelque chose comme netstat -tanp | grep LISTEN | grep 8124 pour voir quoi.

+0

Ah. merci :) C'est vrai. Mais après avoir exécuté ce fichier, j'appuie sur Ctrl + Z pour arrêter le serveur. (et j'ai encore vérifié, par exemple: localhost: 8124, ne peut pas, cela signifie que mon serveur s'est arrêté). Mais le port est toujours utilisé. Comment puis-je arrêter le serveur de noeud correctement à partir de la console? Merci :) – hqt

+3

@hqt, avec Control + C. Control + Z ne fait que mettre le processus en pause, ne l'arrête pas (vous pouvez le ramener au premier plan avec 'fg'). – rid

+0

ah. sooo merci: D Je suis un nouveau venu sur linux world, j'appuie sur control + Z, et c'est terminé. (et je ne sais rien derrière). je vous remercie beaucoup de m'avoir aidé: D – hqt

Questions connexes