Я использую движок шаблонов Handlebars в своем приложении node.js, но приложение выходит из строя.Public - это папка, в которой у меня есть все файлы .hbs.Внутри Public у меня есть одно имя папки 'layouts', в котором у меня есть файл layout.hbs. Вот что я сделал:
Я пробовал писать рули вместо hbs ... хотя это может быть глупо, но это тожене сработало.
файл app.js
const express = require('express');
const app = express();
const mysql = require('mysql');
const path = require('path');
const morgan = require('morgan');
const bodyParser = require('body-parser');
const multer = require('multer');
const sessions = require('express-session');
const hbs = require('express-handlebars');
app.engine('hbs', hbs({extname: 'hbs', defaultLayout: 'layout', layoutsDir: __dirname + '/public/layouts/'}));
app.set('public', path.join(__dirname, 'public'));
app.set('view engine', 'hbs');
app.use(morgan ('short'));
app.use(bodyParser.json({limit:'50mb'}));
app.use(bodyParser.urlencoded({extended:true, limit:'50mb'}));
app.use(express.static('./public'));
app.get('/', function(req, res, next){
console.log("Responding in Browser..");
res.render('signIn');
});
signIn.hbs Имеет простой HTML-код без тегов html и body.
layout.hbs
<!doctype html>
<html lang="en">
<head>
<title>Test</title>
</head>
<body>
{{{body}}}
</body>
</html>
Ошибка, которую я получаю.[nodemon] начиная с node app.js
Сервер работает ... Экспресс устарел res.send (статус, тело): вместо этого используйте res.status (статус) .send (тело) app.js: 238: 13 _http_server.js: 208бросить новый ERR_HTTP_INVALID_STATUS_CODE (originalStatusCode);^
RangeError [ERR_HTTP_INVALID_STATUS_CODE]: недопустимый код состояния: ошибка в ServerResponse.writeHead (_http_server.js: 208: 11) в ServerResponse.writeHead (F: \ Angular \ Gene \ узлы \ на_узлах)js: 44: 26) в ServerResponse.writeHead (F: \ Angular \ GeneDetailsNode \ node_modules \ on-headers \ index.js: 44: 26) в ServerResponse._implicitHeader (_http_server.js: 199: 8) в write_ (_http_outgoing.js: 585: 9) в ServerResponse.end (_http_outgoing.js: 709: 5) в writeend (F: \ Angular \ GeneDetailsNode \ node_modules \ express-session \ index.js: 262: 22) в Immediate.onsave (F:\ Angular \ GeneDetailsNode \ node_modules \ express-session \ index.js: 336: 11) в runCallback (timers.js: 705: 18) в tryOnImmediate (timers.js: 676: 5) Сбой приложения [nodemon] - ожидание файлаизменения перед запуском ...