Challenge - 5 Problems
Static File Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
What is the output when accessing a static file?
Given the following Node.js Express server code, what will be the HTTP status code when requesting
/images/logo.png if the file exists in the public/images folder?Node.js
import express from 'express'; const app = express(); app.use(express.static('public')); app.listen(3000);
Attempts:
2 left
💡 Hint
Static middleware serves files from the folder specified.
✗ Incorrect
The express.static middleware serves files from the 'public' folder. If the file exists, the server responds with status 200.
❓ component_behavior
intermediate2:00remaining
How does express.static handle directory requests?
If a user requests
/docs/ and the public/docs/index.html file exists, what will express.static serve?Node.js
app.use(express.static('public'));Attempts:
2 left
💡 Hint
Express static middleware automatically serves index.html files in directories.
✗ Incorrect
By default, express.static serves the index.html file inside the requested directory if it exists.
📝 Syntax
advanced2:00remaining
Which option correctly sets a custom static folder with a URL prefix?
You want to serve static files from the
assets folder but only when the URL starts with /static. Which code snippet is correct?Attempts:
2 left
💡 Hint
The first argument to app.use is the URL prefix, the second is the middleware.
✗ Incorrect
The correct syntax is app.use('/static', express.static('assets')) to serve files from 'assets' folder under '/static' URL path.
🔧 Debug
advanced2:00remaining
Why does this static file request return 404?
Consider this code:
import express from 'express';
const app = express();
app.use(express.static('./public'));
app.listen(3000);
Requesting /style.css returns 404, but the file public/style.css exists. What is the likely cause?Node.js
import express from 'express'; const app = express(); app.use(express.static('./public')); app.listen(3000);
Attempts:
2 left
💡 Hint
Relative paths can cause issues depending on where the server is started.
✗ Incorrect
Using './public' as a relative path can cause express.static to look in the wrong folder. It is safer to use an absolute path or just 'public'.
🧠 Conceptual
expert3:00remaining
What happens if multiple static middleware serve the same URL path?
If you have these two lines in your Express app:
app.use(express.static('public'));
app.use(express.static('assets'));
And both folders contain a file named logo.png, which file will be served when requesting /logo.png?Node.js
app.use(express.static('public')); app.use(express.static('assets'));
Attempts:
2 left
💡 Hint
Middleware order matters in Express.
✗ Incorrect
Express checks middleware in the order they are added. The first static middleware that finds the file serves it, so 'public/logo.png' is served.