Calling already defined routes in other routes in Express NodeJS

Similar to what Gates said, but I would keep the function(req, res){} in your routes file. So I would do something like this instead:

routes.js

var myModule = require('myModule');

app.get("/firstService/:query", function(req,res){
    var html = myModule.firstService(req.params.query);
    res.end(html)
});

app.get("/secondService/:query", function(req,res){
    var data = myModule.secondService(req.params.query);
    res.end(data);
});

And then in your module have your logic split up like so:

myModule.js

var MyModule = function() {
    var firstService= function(queryParam) {
        var html = "<html><body></body></html>"; 
        return html;
    }

    var secondService= function(queryParam) {
        var data = firstService(queryParam);
        // do something with the data
        return data;
    }

    return {
        firstService: firstService
       ,secondService: secondService
    }
}();

module.exports = MyModule;

Can you simply break this out into another function, put it in a shared spot and go from there?

var queryHandler = require('special_query_handler'); 
// contains a method called firstService(req, res);

app.get('/firstService/:query', queryHandler.firstService);

// second app
app.get('/secondService/:query', queryHandler.secondService);

Honestly, this whole business of nesting the call back inside of the app.get(...) is not really a great practice. You end up with a giant file containing all of the core code.

What you really want is a file filled with app.get() and app.post() statements with all of the callback handlers living in different, better organized files.