Bird
Raised Fist0
Expressframework~30 mins

Creating a basic Express server - Try It Yourself

Choose your learning style10 modes available
Creating a basic Express server
📖 Scenario: You want to create a simple web server that can respond to visitors with a friendly message. This server will listen for requests and send back a greeting.
🎯 Goal: Build a basic Express server that listens on port 3000 and responds with "Hello, Express!" when someone visits the home page.
📋 What You'll Learn
Create an Express app instance
Set a port number variable
Add a route for the home page that sends a greeting
Start the server listening on the port
💡 Why This Matters
🌍 Real World
Basic Express servers are the foundation for many web applications and APIs.
💼 Career
Understanding how to set up and run an Express server is essential for backend web development roles.
Progress0 / 4 steps
1
Set up Express app
Write const express = require('express') to import Express, then create an app instance with const app = express().
Express
Hint

Use require('express') to import Express and then call it as a function to create the app.

2
Set the port number
Create a variable called port and set it to 3000.
Express
Hint

Use const port = 3000 to set the port number.

3
Add a home page route
Use app.get('/', (req, res) => { ... }) to add a route for the home page that sends the text 'Hello, Express!' with res.send().
Express
Hint

The app.get method defines a route. Use res.send to send the response.

4
Start the server
Call app.listen(port, () => { ... }) to start the server listening on the port. Inside the callback, use console.log to show `Server running on port ${port}`.
Express
Hint

Use app.listen with the port and a callback that logs the server start message.

Practice

(1/5)
1. What is the main purpose of app.listen() in an Express server?
easy
A. To define a route for GET requests
B. To start the server and listen for incoming requests
C. To import the Express library
D. To send a response to the client

Solution

  1. Step 1: Understand the role of app.listen()

    This function starts the Express server and makes it listen on a specified port for incoming requests.
  2. Step 2: Compare with other functions

    Functions like app.get() define routes, but do not start the server. Importing Express or sending responses are done elsewhere.
  3. Final Answer:

    To start the server and listen for incoming requests -> Option B
  4. Quick Check:

    app.listen() starts server [OK]
Hint: Remember: listen means server waits for requests [OK]
Common Mistakes:
  • Confusing route definition with server start
  • Thinking app.listen() sends responses
  • Mixing import statements with server functions
2. Which of the following is the correct way to import Express in a modern Node.js project?
easy
A. const express = require('express');
B. load express from 'express';
C. var express = import('express');
D. import express from 'express';

Solution

  1. Step 1: Identify modern import syntax

    In modern Node.js with ES modules, the correct syntax is import express from 'express';.
  2. Step 2: Check other options

    require() is CommonJS style, not modern ES modules. var express = import('express'); is invalid syntax. load is not a valid keyword.
  3. Final Answer:

    import express from 'express'; -> Option D
  4. Quick Check:

    Modern Node.js uses import [OK]
Hint: Use 'import' for modern Node.js, not 'require' [OK]
Common Mistakes:
  • Using require() in ES module projects
  • Trying to use 'load' keyword
  • Incorrect use of dynamic import syntax
3. What will be the output when you visit http://localhost:3000/hello given this Express code?
import express from 'express';
const app = express();
app.get('/hello', (req, res) => {
  res.send('Hello World!');
});
app.listen(3000);
medium
A. Hello World!
B. Cannot GET /hello
C. 404 Not Found error
D. Server error

Solution

  1. Step 1: Analyze the route definition

    The code defines a GET route at '/hello' that sends 'Hello World!' as a response.
  2. Step 2: Understand server behavior on request

    When visiting /hello, the server matches the route and sends the defined response.
  3. Final Answer:

    Hello World! -> Option A
  4. Quick Check:

    Defined route sends 'Hello World!' [OK]
Hint: Check if route matches URL path exactly [OK]
Common Mistakes:
  • Visiting a route not defined causes 404
  • Confusing response text with error messages
  • Forgetting to start server with listen()
4. Identify the error in this Express server code:
import express from 'express';
const app = express();
app.get('/', (req, res) => {
  res.send('Welcome!');
});
app.listen();
medium
A. Missing port number in app.listen()
B. Incorrect route path in app.get()
C. res.send() should be res.sendResponse()
D. Express not imported correctly

Solution

  1. Step 1: Check app.listen() usage

    The app.listen() method requires a port number to start the server. Here, no port is given.
  2. Step 2: Verify other parts

    The route path '/' is valid, res.send() is correct, and Express is imported properly.
  3. Final Answer:

    Missing port number in app.listen() -> Option A
  4. Quick Check:

    app.listen() needs port [OK]
Hint: Always specify a port in app.listen(port) [OK]
Common Mistakes:
  • Omitting port number in app.listen()
  • Using wrong method names for response
  • Incorrect route paths syntax
5. You want to create an Express server that responds with JSON at /data and listens on port 8080. Which code snippet correctly does this?
hard
A. import express from 'express'; const app = express(); app.get('/data', (req, res) => { res.send('Hello JSON'); }); app.listen(3000);
B. import express from 'express'; const app = express(); app.post('/data', (req, res) => { res.send({ message: 'Hello JSON' }); }); app.listen(8080);
C. import express from 'express'; const app = express(); app.get('/data', (req, res) => { res.json({ message: 'Hello JSON' }); }); app.listen(8080);
D. import express from 'express'; const app = express(); app.get('/data', (req, res) => { res.json('Hello JSON'); }); app.listen(8080);

Solution

  1. Step 1: Check route method and path

    The question asks for a GET route at '/data', so app.get('/data', ...) is correct.
  2. Step 2: Verify response and port

    Response should be JSON, so res.json({ message: 'Hello JSON' }) is correct. The server must listen on port 8080.
  3. Step 3: Eliminate alternatives with errors

    Alternatives fail due to using POST instead of GET, wrong port like 3000, res.send('string') instead of res.json(object), or res.json('string') instead of object.
  4. Final Answer:

    The snippet with app.get('/data'), res.json({ message: 'Hello JSON' }), app.listen(8080) -> Option C
  5. Quick Check:

    GET /data + res.json + port 8080 [OK]
Hint: Use app.get + res.json + correct port [OK]
Common Mistakes:
  • Using POST instead of GET for route
  • Sending string instead of JSON object
  • Listening on wrong port number
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard