dismal1290
dismal1290

Reputation: 93

Node js beginner getting an error

this is my code for a simple node.js application:

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

When I try to run it I get an error that reads:

path.exists(doc, function fileExists(exists) {
                                    ^
                                  TypeError:Undefined is not a function

This is copied off of a tutorial so I'm not sure what's going on. (PS: I'm using Visual Studio)

Upvotes: 6

Views: 5271

Answers (2)

Patrick Roberts
Patrick Roberts

Reputation: 51876

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 is not a function, the function exists in the fs module under fs.exists.

Upvotes: 4

SeanCannon
SeanCannon

Reputation: 77966

I think path.exists is deprecated. I've been using fs.exists. Try that.

Upvotes: 11

Related Questions