【问题标题】:Express hbs does not work快递 hbs 不工作
【发布时间】:2015-09-18 12:16:17
【问题描述】:

我知道这篇文章有点重复, 但我不知道我错在哪里。

/// 我的 app.js //

var express = require('express'),
    app = express();


app.use(express.static('public'));
app.use(express.static('views'));
//
app.engine('html', require('hbs').__express);
app.set('views', 'views');
app.set('view engine', 'html');


app.get('/', function(req, res) {
    // res.sendFile(path.join(__dirname + '/index.html'));
    //res.sendFile('/index.html');
    res.render('index',{title :"page index"});

  });

app.listen(3000);
这是我的 ./views/index.html

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Index</title>
	
</head>
<body>
	<h1>{{title}}</h1>

</body>
</html>

有什么帮助吗?谢谢!

【问题讨论】:

    标签: node.js express template-engine


    【解决方案1】:

    您应该使用 .hbs 作为扩展名。

    尝试将您的 /views/index.html 重命名为 /views/index.hbs

    并在代码中更改如下

    app.set('view engine', 'hbs');
    

    显然 hbs 希望使用 .hbs。

    提示:hbs hbs 我觉得不太好,你可以看看 swig:http://paularmstrong.github.io/swig/docs

    【讨论】:

    • .hbs 为我工作。替换了 app.engine('html', require('hbs').__express); app.set('views', 'views'); app.set('视图引擎', 'html'); by app.set('view engine', 'hbs'); app.engine('hbs', 要求('hbs').__express); Swig 看起来要简单得多。很快就会去看看。
    【解决方案2】:

    试试下面的代码

    app.set('视图引擎', 'html');
    app.engine('html', require('hbs').__express);

    而不是这个

    app.engine('html', require('hbs').__express);
    app.set('views', 'views');
    app.set('视图引擎', 'html');

    【讨论】:

      猜你喜欢
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 2018-11-22
      • 2015-10-24
      • 1970-01-01
      • 2018-06-21
      • 1970-01-01
      • 2018-06-03
      相关资源
      最近更新 更多