如何在 Express 中使用 .html 文件扩展名处理 Handlebars?

6

我想知道如何使用 .html 扩展名代替 .handlebars 或 .hbs 扩展名。这样做是为了能够使用普通的 html 进行开发,以便我的前端开发人员可以在他们的 IDE 中无缝地编辑文件,而不需要进行任何额外的配置。此外,将 html 模板安装到我们的 express 应用程序中也会更快。

2个回答

11

我通过更改app.js文件中的三个内容来完成这个操作,希望这能像对我有用一样对大家有所帮助!

var express  = require('express'),
    exphbr   = require('express3-handlebars'), // "express3-handlebars"
    helpers  = require('./lib/helpers'),

    app = express(), 
    handlebars;

// Create `ExpressHandlebars` instance with a default layout.
handlebars = exphbr.create({
    defaultLayout: 'main',
    helpers      : helpers,
    extname      : '.html', //set extension to .html so handlebars knows what to look for

    // Uses multiple partials dirs, templates in "shared/templates/" are shared
    // with the client-side of the app (see below).
    partialsDir: [
        'views/shared/',
        'views/partials/'
    ]
});

// Register `hbs` as our view engine using its bound `engine()` function.
// Set html in app.engine and app.set so express knows what extension to look for.
app.engine('html', handlebars.engine);
app.set('view engine', 'html');

// Seperate route.js file
require("./routes")(app, express);

app.listen(3000);

5

1
你知道如何使用两种类型的扩展名吗? - João Pimentel Ferreira

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接