尝试将EJS与Node.js一起使用

时间:2013-04-21 07:57:59

标签: javascript node.js ejs

我正在尝试使用EJS设置我的第一个应用程序(通常使用Jade),我已经完成了所有设置并且我的页面正在加载,我按照教程如何去做,这是我的布局

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf8">
        <title> 
            <%= title %>
        </title>
        <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css" rel="stylesheet">
        <script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>

         <!-- HTML5 shim, for IE6-8 support of HTML elements -->
         <!--[if lt IE 9]>
             <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
         <![endif]-->

    </head>
    <body>
        <%- body %>

    </body>
</html>

这是我的主页

<div class='title'>
    <%= title %>
</div>

但是当我加载主页并查看页面源代码时,我看到的只是主页元素,我没有看到html, body, head, title任何内容。不知道为什么,这是我的app.js

app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');

我的2个文件是layout.ejs, index.ejs

提前致谢!

以下:http://robdodson.me/blog/2012/05/31/how-to-use-ejs-in-express/

2 个答案:

答案 0 :(得分:1)

Express(3.x)的最新版本不再支持布局(请参阅此migration page)。

相反(也由迁移页面建议),您可以使用ejs-locals来恢复该功能。 ejs-locals的GitHub页面提供了一些简单的示例,说明如何使用Express 3进行布局。

答案 1 :(得分:-1)

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

将此添加到app.js