DEV Community

loading...
Cover image for Create your first Node.js backend with Express

Create your first Node.js backend with Express

coderslang profile image Coderslang: Become a Software Engineer Originally published at learn.coderslang.com Updated on ・3 min read

In the last lecture, you saw the server-side analogy of the Hello, world that you wrote as your first task in VSCode. Our program was able to process the request and return a response, which was displayed by the browser.

Today, you are implementing your first Node.js backend!

Express.js and npm modules

When talking about backend development in Node.js, in most cases we mean working with Express.js. It is an open-source framework that is distributed using npm.

If you don't know how to work with npm packages yet, I recommend reading these two articles:

To add Express.js to your project, you must first install it:

npm install --save express
Enter fullscreen mode Exit fullscreen mode

The --save flag means that express will be added to the dependencies section in the package.json file, where the dependencies of your Node.js project are stored.

After installation, add import:

import express from 'express';
const server = express();
Enter fullscreen mode Exit fullscreen mode

Express.js and Node.js hide from us a lot of complexities associated with handling HTTP requests and all the low-level networking.

To add a handler for GET requests, we need to call the function server.get(route, handler), where route is a string describing the path to the resource, and handler is a function that will be executed when the GET request hits the route.

server.get('/', (req, res) => {
  return res.send('Hello, Express.js!');
})
Enter fullscreen mode Exit fullscreen mode

We use / as the path, but it could be something else, like /about, /blog, or /profile.

The handler function takes two parameters req and res. They are very important, but for now, remember that you can send the response using the res.send() function. If you don't call res.send() but just write return 'hello world'; then the server will not be able to respond.

Next, we need to start the server.

Let's use the listen(port, callback) function. It expects 2 parameters. You can choose any free port in your system as a port param, and callback is a function that will be executed after the server is started. Usually, it displays information that the server is running on the specific port and everything is fine.

const port = 8080;

server.listen(port, () => {
  console.log(`Server is running on port ${port}`);
});
Enter fullscreen mode Exit fullscreen mode

If you follow the instructions, save the javascript code to the file index.js and write node index.js, then you will start your first server written using the framework Express.js.

While it will not yet be available to the outside world, if you try to navigate to localhost:8080 in your browser, you will see that the server responds with Hello, Express.js!.

Questions?

— How to understand which port in the system is free?

— To keep things simple, just choose ports between 3000 and 9000.

— What is localhost?

— This is your computer's abbreviated address. Also, you can use the full IP address 127.0.0.1. It is reserved and always points to the local computer. A "self-reference" of a sort.

— What happens if I try to navigate to localhost:8080/about but don't implement that route in server.get?

— The server will return an error 404, which means that the requested resource was not found.

Learn Full-Stack JavaScript

Discussion (1)

Collapse
andrewbaisden profile image
Andrew Baisden

Nice and simple good.

Forem Open with the Forem app