Open In App
Related Articles

Express.js express.static() Function

Improve Article
Improve
Save Article
Save
Like Article
Like

The express.static() function is a built-in middleware function in Express. It serves static files and is based on serve-static. 

Syntax:

express.static(root, [options])

Parameters: The root parameter describes the root directory from which to serve static assets. 

Return Value: It returns an Object. 

Installation of the express module:

You can visit the link to Install the express module. You can install this package by using this command.

npm install express

After installing the express module, you can check your express version in the command prompt using the command.

npm version express

After that, you can just create a folder and add a file, for example, index.js. To run this file you need to run the following command.

node index.js

Project Structure:

Example 1: Filename: index.js 

javascript




const express = require('express');
const app = express();
const path = require('path');
const PORT = 3000;
 
// Static Middleware
app.use(express.static(path.join(__dirname, 'public')))
 
app.get('/', function (req, res, next) {
    res.render('home.ejs');
})
 
app.listen(PORT, function (err) {
    if (err) console.log(err);
    console.log("Server listening on PORT", PORT);
});

Now, create a home.ejs file in the views folder with the following code: 

Filename: home.ejs 

html




<!DOCTYPE html>
<html>
<head>
    <title>express.static() Demo</title>
</head>
 
<body>
    <h2>Greetings from GeeksforGeeks</h2>
    <img src="Demo.jpg" width="150" height="100" />
</body>
</html>

Steps to run the program:

Note: Demo.jpg is placed in the public folder, as the public folder is now being served as static to the server.

Make sure you have installed the express and ejs modules using the following command:

npm install express
npm install ejs

Run the index.js file using the below command:

node index.js

Output:

Console Output:

Server listening on PORT 3000

Browser Output:

Now open your browser and go to http://localhost:3000/, you will see the following output on your screen:

Example 2: Filename: index.js 

javascript




const express = require('express');
const app = express();
const path = require('path');
 
// Static Middleware
console.log(app.use(express.static(
    path.join(__dirname, 'public'))))

Steps to run the program:

Run the index.js file using the below command:

node index.js

Output:

[Function: app] EventEmitter {
  _events: [Object: null prototype] { mount: [Function: onmount] },
  _eventsCount: 1,
  _maxListeners: undefined,
  setMaxListeners: [Function: setMaxListeners],
  getMaxListeners: [Function: getMaxListeners],
  emit: [Function: emit],
  .
  .
  .
  .
  locals: [Object: null prototype] {
    settings: {
      'x-powered-by': true,
      etag: 'weak',
      'etag fn': [Function: generateETag],
      env: 'development',
      'query parser': 'extended',
      'query parser fn': [Function: parseExtendedQueryString],
      'subdomain offset': 2,
      'trust proxy': false,
      'trust proxy fn': [Function: trustNone],
      view: [Function: View],
      views: 'C:\\Users\\Lenovo\\Downloads\\GFG 
        Reviewer Internship\\Program\\views',
      'jsonp callback name': 'callback'
    }
  },
  mountpath: '/',
  _router: [Function: router] {
    params: {},
    _params: [],
    caseSensitive: false,
    mergeParams: undefined,
    strict: false,
    stack: [ [Layer], [Layer], [Layer] ]
  }
}

Reference: https://expressjs.com/en/4x/api.html#express.static


Last Updated : 20 Mar, 2023
Like Article
Save Article
Similar Reads
Related Tutorials