Express.js express.static() Function
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 express module:
- You can visit the link to Install 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 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
Example 1: Filename: index.js
javascript
var express = require( 'express' ); var app = express(); var path = require( 'path' ); var 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 home.ejs file in 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:
- The project structure will look like this:
Note: Demo.jpg is placed in the public folder, as public folder is now being served as static to the server.
- Make sure you have installed express and ejs module using the following command:
npm install express npm install ejs
- Run index.js file using below command:
node index.js
- Output:
Server listening on PORT 3000
- 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
var express = require( 'express' ); var app = express(); var path = require( 'path' ); // Static Middleware console.log(app.use(express.static( path.join(__dirname, 'public' )))) |
Run index.js file using 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: Official Documentation