Routing in Node JS

In Node.js, routing isn’t inherently provided. Instead, developers must manually inspect the URL and method of each incoming request to determine how to handle and respond to it appropriately. This means that routing logic needs to be implemented within the application code, typically through conditional statements or frameworks like Express.js, which offer more structured routing capabilities. By checking the URL and method of each request, developers can tailor responses dynamically based on the specific requirements of the application.

Javascript
// Filename - index.js

// Requiring the module
const http = require('http');

// Creating server object
const server = http.createServer((req, res) => {
    const url = req.url;
    
    if(url === '/') {
        res.write('<html>');
        res.write(
'<head><title>w3wiki</title><head>');
        res.write(
'<body><h2>Hello from Node.js server!!</h2></body>');
        res.write('</html>');
        return res.end();
    }
    
    if(url === '/about') {
        res.write('<html>');
        res.write(
'<head><title>w3wiki</title><head>');
        res.write(
'<body><h2>w3wiki- Node.js</h2></body>');
        res.write('</html>');
        return res.end();
    }
});

// Server setup
server.listen(3000, () => {
    console.log("Server listening on port 3000")
});

Steps to Run the Server:

node index.js

Output: Open your browser and go to http://localhost:3000/about:

Node vs Express

Node.js and Express are two essential tools in the JavaScript ecosystem, especially for server-side development. While they are often used together, they serve different purposes. This article will explain what Node.js and Express are, their key differences, and when to use each.

Table of Content

  • Node JS
  • Express JS 
  • Below are basic examples of creating a server in Node JS & Express JS
  • Routing in Express JS
  • Routing in Node JS
  • Difference between Node JS and Express JS

Similar Reads

Node JS

Node JS is an open-source and cross-platform runtime environment for executing JavaScript code outside of a browser. You need to remember that Node JS is not a framework and it’s not a programming language. Most people are confused and understand it’s a framework or a programming language. We often use Node.js for building back-end services like APIs for Web Apps or Mobile Apps. It’s used in production by large companies such as Paypal, Uber, Netflix, Walmart, and so on....

Express JS

Express is a small framework that sits on top of Node JS’s web server functionality to simplify its APIs and add helpful new features. It makes it easier to organize your application’s functionality with middleware and routing. It adds helpful utilities to Node JS’s HTTP objects. It facilitates the rendering of dynamic HTTP objects....

Below are basic examples of creating a server in Node JS & Express JS

Express JS Server:...

Routing in Express JS

Routing in Express.js simplifies implementation, offering ease of use. Through Express’s built-in functions, we can directly specify route names and associated functions, indicating the type of request, whether it’s a GET or POST, for instance. This streamlined approach streamlines the development process, enhancing productivity and reducing complexity....

Routing in Node JS

In Node.js, routing isn’t inherently provided. Instead, developers must manually inspect the URL and method of each incoming request to determine how to handle and respond to it appropriately. This means that routing logic needs to be implemented within the application code, typically through conditional statements or frameworks like Express.js, which offer more structured routing capabilities. By checking the URL and method of each request, developers can tailor responses dynamically based on the specific requirements of the application....

Difference between Node JS and Express JS

Node JS is a platform for building I/O applications that are server-side event-driven and made using JavaScript. Express JS is a framework based on Node JS which is used for building web applications using approaches and principles of Node JS’s event-driven architecture....