Use let or const to avoid scope issues and hoisting
var express = require('../..');
1'use strict'23/**4 * Module dependencies.5 */67var express = require('../..');8var logger = require('morgan');9var vhost = require('vhost');1011/*12edit /etc/hosts:1314127.0.0.1 foo.example.com15127.0.0.1 bar.example.com16127.0.0.1 example.com17*/1819// Main server app2021var main = express();2223if (!module.parent) main.use(logger('dev'));2425main.get('/', function(req, res){26 res.send('Hello from main app!');27});2829main.get('/:sub', function(req, res){30 res.send('requested ' + req.params.sub);31});3233// Redirect app3435var redirect = express();3637redirect.use(function(req, res){38 if (!module.parent) console.log(req.vhost);39 res.redirect('http://example.com:3000/' + req.vhost[0]);40});4142// Vhost app4344var app = module.exports = express();4546app.use(vhost('*.example.com', redirect)); // Serves all subdomains via Redirect app47app.use(vhost('example.com', main)); // Serves top level domain via Main server app4849/* istanbul ignore next */50if (!module.parent) {51 app.listen(3000);52 console.log('Express started on port 3000');53}
Same data, no extra tab — call code_get_file + code_get_findings over MCP from Claude/Cursor/Copilot.