Use let or const to avoid scope issues and hoisting
var express = require('../..');
1'use strict'23// install redis first:4// https://redis.io/56// then:7// $ npm install redis8// $ redis-server910/**11 * Module dependencies.12 */1314var express = require('../..');15var path = require('node:path');16var redis = require('redis');1718var db = redis.createClient();19var app = express();2021app.use(express.static(path.join(__dirname, 'public')));2223// npm install redis2425/**26 * Redis Initialization27 */2829async function initializeRedis() {30 try {31 // connect to Redis3233 await db.connect();3435 // populate search3637 await db.sAdd('ferret', 'tobi');38 await db.sAdd('ferret', 'loki');39 await db.sAdd('ferret', 'jane');40 await db.sAdd('cat', 'manny');41 await db.sAdd('cat', 'luna');42 } catch (err) {43 console.error('Error initializing Redis:', err);44 process.exit(1);45 }46}4748/**49 * GET search for :query.50 */5152app.get('/search/{:query}', function (req, res, next) {53 var query = req.params.query || '';54 db.sMembers(query)55 .then((vals) => res.send(vals))56 .catch((err) => {57 console.error(`Redis error for query "${query}":`, err);58 next(err);59 });60});6162/**63 * GET client javascript. Here we use sendFile()64 * because serving __dirname with the static() middleware65 * would also mean serving our server "index.js" and the "search.jade"66 * template.67 */6869app.get('/client.js', function(req, res){70 res.sendFile(path.join(__dirname, 'client.js'));71});7273/**74 * Start the Server75 */7677(async () => {78 await initializeRedis();79 if (!module.parent) {80 app.listen(3000);81 console.log('Express started on port 3000');82 }83})();
Same data, no extra tab — call code_get_file + code_get_findings over MCP from Claude/Cursor/Copilot.