尝试在Express中.get()另一个文件时出现500错误

时间:2019-03-29 16:22:00

标签: javascript node.js express handlebars.js

我正在尝试做一些简单的Express路由。但是,每当我尝试检索数据以链接到网站上的新页面时,都会收到500错误。我的Index.js文件用于路由。

Index.js文件:

var express = require('express');
var router = express.Router();
var db = require('monk')('localhost:27017/');
var userData = db.get('user-data');
var app = require('express')();

router.get('/', function(req,res,next){
    res.render('layout');
});

router.get('/1', function(req,res,next){
    res.render('layout2');
});


module.exports = router;

我的app.js文件包含我的应用引擎,实际上是为车把设置的:

app.engine('hbs', hbs({extname: 'hbs', defaultLayout: 'layout', layoutsDir: __dirname + '/views/layouts/'}));
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');

以下是错误内容:

GET / 500 33.765 ms - 20931
GET /stylesheets/style.css 304 1.633 ms - -
GET /stylesheets/print2.css 304 1.219 ms - -

我希望当我输入localhost:8000/1时,该站点将呈现layout2.hbs-但是却收到500错误。

1 个答案:

答案 0 :(得分:0)

GET /stylesheets/style.css 304 1.633毫秒-- GET /stylesheets/print2.css 304 1.219 ms--

这些错误可能是因为您尚未为应用程序指定静态文件夹。 在项目根目录中创建一个静态公用文件夹。

在名为“ public”的文件中添加所有本地css,js和图像,并在index.js文件中添加以下中间件代码。

app.use(express.static("public"))

希望这可以解决我们的问题。