Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

JavaScript Build a Simple Dynamic Site with Node.js Handling Routes in Node.js Handling Routes Review

ellie adam
ellie adam
26,376 Points

Finally, in the index.js file, make sure that the about route is being handled by the HTTP server.

function about(request, response) { if(request.url == "/about") { response.writeHead(200, {'Content-type': "text/plain"}); response.end("About\n"); } }

module.exports.root = root; module.exports.contact = contact; module.exports.about = about;

I am stuck here. error message is:

You need to call the about method on the imported routes object.

routes.js
function root(request, response) {
    if(request.url == "/") {
        response.writeHead(200, {'Content-type': "text/plain"});
        response.end("Home\n");
    }
}

function contact(request, response) {
    if(request.url == "/contact") {
        response.writeHead(200, {'Content-type': "text/plain"});
        response.end("Contact\n");
    }
}
function about(request, response) {
    if(request.url == "/about") {
        response.writeHead(200, {'Content-type': "text/plain"});
        response.end("About\n");
    }
}

module.exports.root = root;
module.exports.contact = contact;
module.exports.about = about;
index.js
var http = require("http");
var routes = require("./routes.js");

http.createServer(function(request, response){
    routes.root(request, response);
    routes.contact(request, response);
}).listen(3000);

11 Answers

Brandon Dyal
Brandon Dyal
16,544 Points

Have you tried declaring routes.about(request, response); in the createServer function like you did for root and contact?

For the others skimming for the answer, I added formatting.

In the index.js file:

http.createServer(function(request, response){ 
routes.root(request, response); 
routes.contact(request, response); 
routes.about(request, response); // The missing line of code
}).listen(3000);
ellie adam
ellie adam
26,376 Points

var http = require("http"); var routes = require("./routes.js");

http.createServer(function(request, response){ routes.root(request, response); routes.contact(request, response); routes.about(request, response); }).listen(3000);

It is funny that same code passed today. I tried several times yesterday it didn't work.

Ellie,

Don't feel alone!!!! I get that all the time. I spend half my time copy paste my code over and over until it finally takes it.

ellie adam
ellie adam
26,376 Points

I did.
error message is:

You need to call the about method on the imported routes object. What it mean by import route?

Andrew Chalkley
Andrew Chalkley
Treehouse Guest Teacher

What Brandon Dyal should work. Can you paste in the code when you attempted that variation?

Does some one have the answer to this haha. I can't seem to get it either :(

ellie adam
ellie adam
26,376 Points

I passed the challenge with above code.

haha, just refreshed and it worked...weird.

Thank you, appreciate the help!

ellie adam
ellie adam
26,376 Points

Glad to help you :)