Browse Source

Add support for handlebars as the view engine in the application, with a new configuration parameter for extension name

node16
Onja 12 months ago
parent
commit
fcac5503a0
  1. 846
      package-lock.json
  2. 2
      package.json
  3. 8
      src/app.js
  4. 3
      src/views/error.ejs
  5. 11
      src/views/index.ejs

846
package-lock.json

File diff suppressed because it is too large

2
package.json

@ -13,6 +13,8 @@
"ejs": "~2.6.1",
"events": "^3.3.0",
"express": "~4.16.1",
"express-handlebars": "^7.1.2",
"handlebars": "^4.7.8",
"http-errors": "~1.6.3",
"morgan": "~1.9.1",
"slugify": "^1.6.6"

8
src/app.js

@ -3,6 +3,7 @@ var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
const { engine } = require('express-handlebars');
var indexRouter = require('./routes/index');
const consoleSubscriber = require('./subscribers/consoleSubscriber');
@ -10,8 +11,13 @@ const consoleSubscriber = require('./subscribers/consoleSubscriber');
var app = express();
// view engine setup
app.set('view engine', 'handlebars');
app.engine('handlebars', engine({
layoutsDir: path.join(__dirname, 'views/layouts'),
//new configuration parameter
extname: 'hbs'
}));
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(logger('dev'));
app.use(express.json());

3
src/views/error.ejs

@ -1,3 +0,0 @@
<h1><%= message %></h1>
<h2><%= error.status %></h2>
<pre><%= error.stack %></pre>

11
src/views/index.ejs

@ -1,11 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1><%= title %></h1>
<p>Welcome to <%= title %></p>
</body>
</html>
Loading…
Cancel
Save