user6727528
user6727528

Reputation:

TypeError: app.get is not a function

I'm trying to use express in a prototype

function ioServer() {

}

module.exports = ioServer;

ioServer.prototype.start = function() {
    var app       = require('express')
    var http      = require('http').Server(app)
    var io        = require('socket.io')(http)

    app.get('/', function(req, res) {
        var outPut = ""
        res.sendFile(__dirname + './client/index.html')
    })

    http.listen(3000, function(port) {
        console.log('Listening on port, ' + 3000)
    })
}

But when I use it It throws the error TypeError: app.get is not a function When I remove the prototype part it works.

Upvotes: 6

Views: 27120

Answers (2)

Muhammad Awais
Muhammad Awais

Reputation: 156

when you require express you forgot to place ( ) try this

const app = require('express')();

Upvotes: 4

svens
svens

Reputation: 11628

Your app should be an instance of express.

For example, you could include it like this:

var app = require('express')();

Upvotes: 33

Related Questions