This example shows how to separate user-related routes into a users.js file inside a routes folder. The main app file imports and uses these routes under the /users path.
What error will occur when starting the app or accessing /products/list?
medium
A. SyntaxError due to missing export
B. TypeError: Cannot read property 'use' of undefined
C. No error, but route won't respond
D. productsRouter is undefined, causing an error
Solution
Step 1: Check module export in products.js
Since module.exports is missing, require('./products') returns undefined.
Step 2: Understand impact in app.js
Using undefined as router in app.use causes an error when app tries to use it.
Final Answer:
productsRouter is undefined, causing an error -> Option D
Quick Check:
Missing export = undefined import error [OK]
Hint: Always export router to avoid undefined imports [OK]
Common Mistakes:
Assuming app runs without export
Confusing syntax error with runtime error
Not checking module.exports presence
5. You want to separate routes for /api/users and /api/products into two files: users.js and products.js. Each file exports a router with routes starting at /. How should you mount these routers in app.js to correctly handle requests to /api/users/profile and /api/products/list?
hard
A. app.use('/api', usersRouter); app.use('/api', productsRouter);
B. app.use('/users', usersRouter); app.use('/products', productsRouter);
C. app.use('/api/users', usersRouter); app.use('/api/products', productsRouter);
D. app.use('/', usersRouter); app.use('/', productsRouter);
Solution
Step 1: Understand router base paths
Each router handles routes starting at /, so mounting them at specific paths adds prefixes.
Step 2: Mount routers with full API paths
Mount usersRouter at /api/users and productsRouter at /api/products to match desired URLs.
Final Answer:
app.use('/api/users', usersRouter); app.use('/api/products', productsRouter); -> Option C
Quick Check:
Mount routers at full paths for correct URL handling [OK]
Hint: Mount routers at full URL prefixes to match routes [OK]
Common Mistakes:
Mounting routers at wrong or incomplete paths
Mounting both routers at same path causing conflicts
Assuming routers handle full paths internally
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.