EJS WITH BOOTSTRAP DEVELOPMENT
Ejs is the easiest templating engine for nodejs. Most developers use ejs for fast web development.
Step 1:
Here is one of the few ways you can integrate EJS with bootstrap. First, you may want to install express, ejs, and express-js-layouts.
Step2:
npm init
npm i express ejs express-js-layouts
Step 3:
Next, create a View folder along with partials folders and layout. ejs file. Look at the structure below for more information
Here are some explanations.
pages folder: To keep all the files related to the web pages
partials folder: To keep reusable HTML codes.
layout.ejs: This will be the default layout for ejs.
Step 4:
In the layout.ejs, please include the code. This would be the place you may want to include the bootstrap code.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>After SPM & IGCSE</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js" integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN" crossorigin="anonymous"></script> </head> <body> <%- include('../views/partials/navigation.ejs') %> <%- body %> <%- include('../views/partials/footer') %> </body> </html>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark"> <a class="navbar-brand" href="#">Logo</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNavDropdown"> <ul class="navbar-nav"> <li class="nav-item active"> <a class="nav-link" href="/">Home </a> </li> <li class="nav-item"> <a class="nav-link" href="../shortcourses">Short Courses</a> </li> <li class="nav-item"> <a class="nav-link" href="../colleges-universities">Colleges & Universities</a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Dropdown link </a> <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink"> <a class="dropdown-item" href="#">Action</a> <a class="dropdown-item" href="#">Another action</a> <a class="dropdown-item" href="#">Something else here</a> </div> </li> </ul> </div> </nav>
<p class=”text-center text-muted”>© Copyright 2023. Designed by <a href=”https://www.novawebbusiness.com”> Nova Web</a></p>
<div class="container-fluid pt-3"> <h1>HOME</h1> <p> Lorem ipsum dolor sit amet consectetur adipisicing elit. Blanditiis corporis dolorem optio culpa voluptates veritatis ipsa dolor incidunt qui debitis quibusdam rerum magni mollitia consequatur nisi assumenda possimus minus modi facilis, minima aperiam, aspernatur maiores! Eveniet, eligendi iure adipisci sunt, iste nulla error eum beatae aut voluptatem recusandae voluptatum veritatis aliquid corporis cumque dolor. Amet nihil ad architecto perspiciatis iusto nulla optio ab, vero corrupti, ipsa blanditiis fuga dicta hic! Dolor quidem exercitationem obcaecati autem ut explicabo cupiditate quibusdam unde, iure minus laudantium facilis! Maxime at, ipsum sed tempora quo quis ad, incidunt, eos non fugiat veritatis quos laboriosam! Modi. </p> </div>
const express = require('express'); const expressEjsLayouts = require('express-ejs-layouts'); const app = express(); const port = 3000; //set the view js engine and templating engine app.use(expressEjsLayouts); app.set('view engine','ejs'); app.get('/', (req, res) => { res.render('pages/index')}); app.get('/about', (req, res) => { res.render('pages/about')}); app.get('/shortcourses', (req, res) => { res.render('pages/shortcourses')}); app.get('/colleges-universities', (req, res) => { res.render('pages/colleges-universities')}); app.listen(port, () => console.log(`Example app listening on port ${port}!`))