# Pastebin chAYTmOd var express = require('express'); var util = require('util'); var app = express(); // Our base controller const baseController = require('./controllers/base'); // This function will create custom controllers but will NOT initiate them function GetController (controllerName) { var controller = require('./controllers/' + controllerName); return util.inherits(controller, baseController); } // Load all controllers here, no middlewares global.AllControllers = { UserController: GetController('user'), ItemController: GetController('item'), CoolController: GetController('cool') }; // A route app.get('/', function (req, res) { // GetController will require ./controllers/user.js but will not init it (new) var userController = global.AllControllers.UserController(); userController.getUserById(100).then(function (userData) { res.send('Do something with data'); }); }) // Start server app.listen(8000);