All About File Paths, and the practical examples still hold up.
What are some other ways that one can access file paths that are newer than when this article was published?
Short answer: relative and absolute paths still matter, but modern JavaScript added safer module-relative references.
The big upgrade is using import.meta.url with new URL(…) for assets, plus optional path aliases (like @/) in build tools and import maps in the browser for bare module paths.
I found a related kirupa.com article that can help you go deeper into this topic:
import.meta.url + new URL(...) is the first time asset paths feel anchored to a real file, not whatever “current directory” the bundler invents that week.
I still catch myself writing ../../.. ladders out of muscle memory, and it turns into a tiny recurring cost the second someone reorganizes folders.
Fair enough
Clean
Clean is right — file paths are one of those “boring” things that quietly decide whether a system feels calm or constantly broken.
“Boring” infrastructure is where most of the user experience lives, honestly — once paths get inconsistent, every workaround becomes a little tax you pay forever. The calm systems are usually the ones where naming and structure were treated like policy, not personal preference.