如何将 Handlebars 与 Express 一起使用?
How can I use Handlebars with Express?
这个问题其实不难理解,我不知道如何在Express中实现handlebars。
这就是我已经编码的内容:
var express = require('express');
var app = express();
app.get('/', function (req, res, next) {
return res.render('index');
});
现在我的问题是,如何将 handlebars 设置为 express 的应用程序引擎?
这是我目前使用和学习的代码。我在每一个重要的行后面都添加了注释,以便您很好地理解它!
var express = require('express');
var app = express();
var handlebars = require('express-handlebars');
app.engine('handlebars', handlebars({ // Here we define what format you will use (That means what's at the end of each file, for example test.handlebars or test.hbs)
defaultLayout: 'main', // That's the name of your template file. In my case it's main.handlebars
layoutsDir: __dirname + '/views/layouts/' // That's the directory where the template file is
}));
app.set('views', path.join(__dirname, 'views')); // Here you give express the information that it has to look at all files that are in the path /views
app.set('view engine', 'handlebars'); // Here you say express that you are using handlebars to build your website
app.get('/home', function (req, res, next) { // That's a simple GET request (This GET request gets triggered when you enter http://localhost/home for example)
return res.render('index'); // Here we render the index.handlebars file (that is in the /views folder)
});
这个问题其实不难理解,我不知道如何在Express中实现handlebars。
这就是我已经编码的内容:
var express = require('express');
var app = express();
app.get('/', function (req, res, next) {
return res.render('index');
});
现在我的问题是,如何将 handlebars 设置为 express 的应用程序引擎?
这是我目前使用和学习的代码。我在每一个重要的行后面都添加了注释,以便您很好地理解它!
var express = require('express');
var app = express();
var handlebars = require('express-handlebars');
app.engine('handlebars', handlebars({ // Here we define what format you will use (That means what's at the end of each file, for example test.handlebars or test.hbs)
defaultLayout: 'main', // That's the name of your template file. In my case it's main.handlebars
layoutsDir: __dirname + '/views/layouts/' // That's the directory where the template file is
}));
app.set('views', path.join(__dirname, 'views')); // Here you give express the information that it has to look at all files that are in the path /views
app.set('view engine', 'handlebars'); // Here you say express that you are using handlebars to build your website
app.get('/home', function (req, res, next) { // That's a simple GET request (This GET request gets triggered when you enter http://localhost/home for example)
return res.render('index'); // Here we render the index.handlebars file (that is in the /views folder)
});