好吧,我不想在每个视图中都包含我的实际布局。
所以我的观点看起来像
<html lang="en">
<head></head>
<body>
<div id="content">
{{ content }}
</div>
</body>
</html>
<div>my index content</div>
<div>my help content</div>
当我使用我的快速路线时,如下面的例子,我只需要在每个视图中包含我的整个布局 - 这显然是一个坏主意。
app.use('/', function (req, res) {
res.render('index', {content: 'foo'});
});
app.use('/about', function (req, res) {
res.render('about', {content: 'foo'});
});
所以问题是:如何在车把视图中重用我的布局?
我的想法是将我的内容另外编译为
app.use('/', function (req:express.Request, res:express.Response, next:Function) {
fs.readFile(path.join(viewPath, 'index.hbs'), function(err, text){
var template = hbs.handlebars.compile(text);
var content = template({foo: 1234});
res.render('layout', {content: content});
});
});
但我不确定这是否正确。
答案 0 :(得分:3)
您可以使用from selenium import webdriver
driver = webdriver.Chrome()
driver.get("url")
# may be a delay or an explicit wait would be needed here
print(driver.page_source)
driver.close()
并为其指定默认布局。
express-handlebars
设置好布局后,您只需拨打var hbs = exphbs.create({
extname:'hbs',
layoutsDir: '/path/to/layouts',
defaultLayout: 'main'
});
// Initialize engine
app.engine('hbs', hbs.engine);
// Set engine
app.set('view engine', 'hbs');