Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialAlex Franklin
12,403 PointsReferenceError: home is not defined
I am running everything locally through VSC and I am getting the following error when running $node getProfile.js:
ReferenceError: home is not defined
at Object.<anonymous> (c:\Users\Alex Franklin\devProjects\treehouseProfileProject\treehouseIndex\getProfile.js:79:23)
I have the function "home" defined in the router.js file along with the function "user". Everything has been working perfectly up until this.. Is it the file structure or something else - I have been stuck for a long time.
Please can someone help me understand what I'm missing here?!
here is my getProfile.js code:
var router = require("./router.js");
const hostname = '127.0.0.1';
const port = 3000;
var http = require('http');
http.createServer(function (request, response) {
router.home(request, response);
router.user(request, response);
//response.end('This IS the REAL END.\n');
}).listen(port,hostname);
console.log(`Server running at http://${hostname}:${port}/`);
//port 1337 is "leet" & IP 127.0.0.1 is local machine you're on
module.exports.home = home;
module.exports.user = user;
here is my router.js code:
function home(request, response){
if(request.url === "/"){
response.writeHead(200, {'Content-Type': 'text/plain'});
response.write("Header\n");
response.write("Empty Search Here\n");
response.end('Footer\n');
}
};
function user(request, response){
//if url === "/..."
var username = request.url.replace("/", "");
if(username.length > 0){
response.writeHead(200, {'Content-Type': 'text/plain'});
response.write("Header\n");
response.write(username + "\n");
response.end('Footer\n');
}
};
1 Answer
KRIS NIKOLAISEN
54,972 PointsIn the video these two lines:
module.exports.home = home;
module.exports.user = user;
are at the end of router.js not getProfile.js.
Alex Franklin
12,403 PointsAlex Franklin
12,403 PointsWOW. Yeah that was the problem for sure... (facepalm)