无法在 nodejs 中呈现 Handlebars 视图
Cannot render Handlebars views in nodejs
所以我一直在尝试按照一些在线指南来调试和修复我的情况,但是它一直没有加载任何东西。所以在这里我想问问你们代码是否有问题:
var express = require('express');
var app = express();
var exphbs = require('express-handlebars');
var request = require('request');
var async = require('async');
var apiOptions = {
useRedis: false,
hostname: '127.0.0.1',
port: 6379,
cacheTTL: 7200
};
var lolapi = require('lolapi')('4df431ee-5631-4db3-b7d5-771c8aaf02f0', 'oce', apiOptions);
app.engine('handlebars', exphbs({defaultLayout: 'main'}));
app.set('view engine', 'handlebars');
app.get('/', function(req, res) {
res.render('index', { title: 'Welcome to Api' });
});
根据 documentation
你需要有结构
.
├── app.js
└── views
├── home.handlebars
└── layouts
└── main.handlebars
然后设置views/layouts/main.handlebars
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Example App</title>
</head>
<body>
{{{body}}}
</body>
</html>
你 index.handlebars 在 views/index.handlebars
<h1>App Title: {{{title}}}</h1>
所以我一直在尝试按照一些在线指南来调试和修复我的情况,但是它一直没有加载任何东西。所以在这里我想问问你们代码是否有问题:
var express = require('express');
var app = express();
var exphbs = require('express-handlebars');
var request = require('request');
var async = require('async');
var apiOptions = {
useRedis: false,
hostname: '127.0.0.1',
port: 6379,
cacheTTL: 7200
};
var lolapi = require('lolapi')('4df431ee-5631-4db3-b7d5-771c8aaf02f0', 'oce', apiOptions);
app.engine('handlebars', exphbs({defaultLayout: 'main'}));
app.set('view engine', 'handlebars');
app.get('/', function(req, res) {
res.render('index', { title: 'Welcome to Api' });
});
根据 documentation 你需要有结构
.
├── app.js
└── views
├── home.handlebars
└── layouts
└── main.handlebars
然后设置views/layouts/main.handlebars
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Example App</title>
</head>
<body>
{{{body}}}
</body>
</html>
你 index.handlebars 在 views/index.handlebars
<h1>App Title: {{{title}}}</h1>