管道()的未解决的功能或方法

时间:2017-04-07 03:57:47

标签: node.js pipe phpstorm webstorm

我正在尝试编写一个简单的文件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说“未解析的函数或方法管道()”

以下是我在PhpStorm中设置JavaScript库的设置:

PhpStorm JS Libraries

知道哪里出错了?

4 个答案:

答案 0 :(得分:1)

在“设置/项目设置/ JavaScript /库”中,下载“node-DefinitelyTyped”。这对我有用。我和你的问题一样。

答案 1 :(得分:0)

也许你需要等待流打开:

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

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

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

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

答案 2 :(得分:0)

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

  • 我得到了“未解决的函数或方法pipe()”,并且
  • PHPStorm中的“未解决的函数或方法require()”错误消息。

在PHPStorm中下载@ types / gulp库可以解决这两个问题。 enter image description here

答案 3 :(得分:-1)

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

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

这适用于 intelliJ IDEA