我正在同步读取文件并将内容发送到变量:
// 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?
答案 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关键字..
它应该有用。