首页 > 解决方案 > 在 Nodejs 应用程序中使用句柄栏时应用程序崩溃

问题描述

我在我的 node.js 应用程序中使用 Handlebars 模板引擎,但应用程序崩溃了。Public 是我拥有所有 .hbs 文件的文件夹。在公共内部,我有一个文件夹名称“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 标签。

布局.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 throw new ERR_HTTP_INVALID_STATUS_CODE (原始状态码);^

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) at ServerResponse._implicitHeader (_http_server.js:199:8) at write_ (_http_outgoing.js:585:9) at ServerResponse.end (_http_outgoing.js:709:5) 在写入端 (F:\Angular\GeneDetailsNode\node_modules\express-session\index.js:262:22) 在 Immediate.onsave (F:\Angular\GeneDetailsNode\node_modules\ express-session\index.js:336:11) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) [nodemon] app crashed - 在开始之前等待文件更改...

标签: node.jsexpress-handlebars

解决方案


推荐阅读