我想知道如何使用 .html 扩展名代替 .handlebars 或 .hbs 扩展名。这样做是为了能够使用普通的 html 进行开发,以便我的前端开发人员可以在他们的 IDE 中无缝地编辑文件,而不需要进行任何额外的配置。此外,将 html 模板安装到我们的 express 应用程序中也会更快。
我想知道如何使用 .html 扩展名代替 .handlebars 或 .hbs 扩展名。这样做是为了能够使用普通的 html 进行开发,以便我的前端开发人员可以在他们的 IDE 中无缝地编辑文件,而不需要进行任何额外的配置。此外,将 html 模板安装到我们的 express 应用程序中也会更快。
我通过更改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);
同意 JemiloII 的观点,
exphbr.create()
)时,配置extname: '.myext'
。app.engine('myext', handlebars.engine);
,参照http://expressjs.com/3x/api.html#app.engine。app.set('view engine', 'myext');
- 不幸的是,没有关于它如何工作的链接。谢谢!