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 trial

JavaScript Express Basics Parameters, Query Strings, and Modularizing Routes Using Data and Route Parameters

Akshit Jindal
Akshit Jindal
1,341 Points

why const { data }=require('./data/flashcardData.json') doesn't work?

If I use const { data }=require('../data/flashcardData.json'), this works well. But if I use const { data }=require('./data/flashcardData.json'), this doesn't work. Could you please explain? Thanks in advance!

2 Answers

Seth Kroger
Seth Kroger
56,413 Points

./ and ../ are two different starting points. ./ means the current directory the current source file is in (likely src/ here) but ../ means the parent directory above it (likely the project's main directory here)

Hi Seth! Thank you for the explanation but I still don't get it. Sorry. :/

I mean, in this example the directories "data" and "routes" are siblings from "app.js", but when requiring routes Andrew used "./" on "routes", but for "data" "../" and they have the same path.

If you could shed a light into this doubt, I'd be VERY much appreciated. :D

Md. Syful Islam
Md. Syful Islam
9,463 Points

./ means current Directory.

but

../ means jump one directory up.