pipe() 的未解析函数或方法

Unresolved function or method for pipe()

我正在尝试编写一个简单的文件 Web 文件服务器。我正在使用 PhpStorm。

var http = require('http');

var fs = require('fs');

function send404Request(response) {
    response.writeHead("404", {"Content-Type": "text/html"});
    response.write("404 Page Not Found");
    response.end();
}

function onRequest(request, response) {
    if (request.method === 'GET' && request.url === '/') {
        response.writeHead("200", {"Content-Type": "text/plain"});
        fs.createReadStream("./index.html").pipe(response);
    } else {
        send404Request(response);
    }
}


http.createServer(onRequest).listen(8888);
console.log("file server is now running...");

但是,PhpStorm 说 "unresolved function or method pipe()"

这是我在 PhpStorm 中对 JavaScript 库的设置:

知道哪里出了问题吗?

也许您需要等待流打开:

var readStream = fs.createReadStream("./index.html");

readStream.on('open', function () {
    readStream.pipe(response);
});

此外,添加这个以捕获可能发生的任何错误:

readStream.on('error', function(err) {
    console.log(err.message);
});

在Settings/ProjectSettings/JavaScript/Libraries中,下载"node-DefinitelyTyped"。这对我有用。我遇到了和你一样的问题。

这是我正在使用的解决方法。代替 fs.createReadStream("./index.html").pipe(response);

我正在使用: response.write(fs.readFileSync("./index.html"));

这适用于 intelliJ IDEA

在 2019 年底面临同样的问题,但在我的 gulpfile.js。

  • 我得到了"Unresolved function or method pipe()"和
  • PHPStorm 中的 "Unresolved function or method require()" 错误消息。

在 PHPStorm 中下载 @types/gulp 库解决了这两个问题。