Javascript Node js初学者遇到错误
这是我为一个简单的node.js应用程序编写的代码:Javascript Node js初学者遇到错误,javascript,node.js,Javascript,Node.js,这是我为一个简单的node.js应用程序编写的代码: 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.
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);
当我尝试运行它时,会出现一个错误,内容如下:
path.exists(doc, function fileExists(exists) {
^
TypeError:Undefined is not a function
这是从一个教程中复制出来的,所以我不确定是怎么回事。(注:我正在使用Visual Studio)我认为
path.exists
已被弃用。我一直在使用fs.exists
。试试看
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
不是一个函数,该函数存在于。@DavidSherret下的fs
模块中-但是当您获得堆栈跟踪时,命名函数表达式更容易调试。这修复了它。非常感谢@作为对回答者的礼貌姿态,如果它解决了你的问题,你能把它标记为接受答案吗。