我在我的node.js应用程序中使用了Handlebars Template引擎,但是应用程序崩溃了。公共文件夹是我拥有所有.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(status,body):使用res.status(status).send(body)代替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 \ GeneDetailsNode \ node_modules \ on-headers \ index.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) 在Instant.onsave(F:\ Angular \ GeneDetailsNode \ node_modules \ express-session \ index.js:336:11) 在runCallback(timers.js:705:18) 在tryOnImmediate(timers.js:676:5) [nodemon]应用程序崩溃-等待文件更改,然后再开始...