Why does a class behave differently in ExpressJS? For an example:
With expressJS
lib/Polygon.js:
class Polygon {
    log (req, res) {
        var publicKey = req.params.publicKey;
        var query = req.query;
        console.log(this); // undefined
        var output = {
            publicKey :publicKey,
            query: query
        };
        res.send(output);
    }
}
export {Polygon as default}
app.js:
import express from 'express';
import Polygon from './lib/Polygon';
var polygon = new Polygon();
app.get('/input/:publicKey', polygon.log);
Without expressJS
lib/Polygon.js:
class Polygon {
   log(req, res) {
        console.log(this); // Polygon {}
    }
}
export { Polygon as default}
app.js:
import Polygon from 'Polygon';
var p = new Polygon();
p.log('world')
How can I get console.log(this); undefined to return Polygon {} in expressjs?
 
     
    