fs 库:使用时出错

Posted

技术标签:

【中文标题】fs 库:使用时出错【英文标题】:fs library : Error when use it 【发布时间】:2013-09-09 06:29:31 【问题描述】:

我使用fs 库从系统中读取文件。我不知道我使用这个库并遇到错误。

    我正在使用 phpStorm。在行:fs.readFile():下面有一行,请注意:未解析的函数或方法 readFile()。这意味着 IDE 不知道这个函数在哪里。不过,我检查了fs.js 并没有发现任何问题。

    我在运行时收到此错误:

events.js:72 投掷者; // 未处理的“错误”事件 ^ 错误:听 EADDRINUSE 在 errnoException (net.js:901:11) 在 Server._listen2 (net.js:1039:14) 在听 (net.js:1061:10) 在 Server.listen (net.js:1127:5) 在对象。 (/home/hqt/PhpstormProjects/NodeApp/sample/AsynchronouslyReading.js:21:4) 在 Module._compile (module.js:456:26) 在 Object.Module._extensions..js (module.js:474:10) 在 Module.load (module.js:356:32) 在 Function.Module._load (module.js:312:12) 在 Function.Module.runMain (module.js:497:10)

这是我的代码:

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');

请帮我找出原因。我正在使用 Ubuntu 机器进行开发。

谢谢:)

【问题讨论】:

【参考方案1】:

这是因为其他东西已经在监听 8124 端口。在 Linux 上,您可以使用类似 netstat -tanp | grep LISTEN | grep 8124 的东西来查看。

【讨论】:

啊。谢谢 :) 这是真的。但是在我运行这个文件之后,我按 Control + Z 来停止服务器。 (我又检查了一遍,例如:localhost:8124,不能,这意味着我的服务器已经停止了)。但该端口仍在使用中。如何从控制台正确停止节点服务器?谢谢:) @hqt,使用 Control + C。Control + Z 只会暂停进程,不会停止它(您可以使用 fg 将其带回前台)。 啊。非常感谢 :D 我是 linux 世界的新人,我按 control + Z,然后它就被终止了。 (而且我不知道背后的任何东西)。非常感谢你帮助我:D

以上是关于fs 库:使用时出错的主要内容,如果未能解决你的问题,请参考以下文章

NodeJs - 使用 fs.createReadStream 读取文件时出错

写入文件 fs 流 NodeJS 时出错

解决node.js使用fs读取文件出错

添加平台时出错,graceful-fs 模块

尝试使用Electron应用程序中的节点fs的不同方法创建新文件时出错

在 Windows 上运行 npm 命令时出错:graceful-fs