这是我的简单node.js应用程序的代码:
$ groovy program.groovy
this goes to stdout
this goes to stderr
$ groovy program.groovy > output
this goes to stderr
$ cat output
this goes to stdout
$ groovy program.groovy > output 2> error
$ cat error
this goes to stderr
当我尝试运行它时,我收到一条错误信息:
var http = require('http');
var fs = require('fs');
var path = require('path');
var url = require('url');
var port = process.env.port || 1337;
http.createServer(function onRequest(req, res) {
var urlParts = url.parse(req.url);
var doc = '/docs' + urlParts.pathname;
path.exists(doc, function fileExists(exists) {
if (exists) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
fs.createReadStream(doc).pipe(res);
} else {
res.writeHead(404);
res.end('Not Fouind\n');
}
});
}).listen(port);
这是从教程中复制的,所以我不确定发生了什么。 (PS:我正在使用Visual Studio)
答案 0 :(得分:9)
我认为path.exists
已被弃用。我一直在使用fs.exists
。试试吧。
答案 1 :(得分:3)
fs.exists(doc, function fileExists(exists) {
if (exists) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
fs.createReadStream(doc).pipe(res);
} else {
res.writeHead(404);
res.end('Not Fouind\n');
}
});
path.exists
不是函数,该函数存在于fs.exists
下的fs
模块中。