将变量渲染到ejs模板

时间:2015-12-02 01:26:14

标签: node.js ejs

我正在同步读取文件并将内容发送到变量:

// Load the fs (filesystem) module
 var fs = require('fs');

// Read the contents of the file into memory.
var text = fs.readFileSync('testfile.txt').toString()

// index page
app.get('/', function(req, res) {
    res.render('index', { var:  text });
});

app.listen(8080);
console.log('8080 port');

然后在我的ejs文件(index.ejs)中,我插入了这样的变量:

<main>
        <div class="jumbotron">
            <h2><%= text %></h2>
        </div>
    </main>

我收到此错误,未引用“text”:

>> 14|    <h2><%= text %></h2>
   15|         </div>
   16|     </main>
   17|     </footer>

text is not defined

如何将变量呈现给ejs?

1 个答案:

答案 0 :(得分:2)

// Load the fs (filesystem) module
var fs = require('fs');

// Read the contents of the file into memory.
var text = fs.readFileSync('testfile.txt').toString()

// index page
app.get('/', function(req, res) {
 res.render('index', { text:  text });
});

app.listen(8080);
console.log('8080 port');

不要从变量声明中删除var关键字,而是在将页面渲染为文本时删除var关键字..

它应该有用。