expressjs查看variables

我正在努力弄清楚这一点,我相信这并不复杂。 出于某种原因,我从下面的代码中得到错误:

/* * GET home page. */ exports.index = function(req, res){ exec('ls -l ~/Sites/branches | grep "^d"', function (error, stdout, stderr) { // var lines = stdout.split("\n"); // var folder; // lines.forEach(function(line){ // folder = line.match(/([^\s]+)$/igm); // if (folder!='null') { // sys.puts(folder); // } // }); res.render('index', { title: 'Express', lines: 'hi' }); }); }; 

我已经注释了我打算从lines获取数据的lines ,并简单地将lines设置为string。 无论如何,它给了我下面的错误。

 Express 500 ReferenceError: /Users/luisgomez/Desktop/mashlocaldevman/views/index.ejs:10 8| <h1><%= title %></h1> 9| <p>Welcome to <%= title %></p> >> 10| <p>Lines: <%= lines.length %></p> 11| </body> 12| </html> 13| lines is not defined <%= title %> Welcome to <%= title %> Lines: <%= lines.length %> lines is not defined at eval (eval at (/Users/luisgomez/Desktop/mashlocaldevman/node_modules/ejs/lib/ejs.js:226:12)) at exports.compile (/Users/luisgomez/Desktop/mashlocaldevman/node_modules/ejs/lib/ejs.js:228:15) at Object.exports.render (/Users/luisgomez/Desktop/mashlocaldevman/node_modules/ejs/lib/ejs.js:266:13) at View.exports.renderFile [as engine] (/Users/luisgomez/Desktop/mashlocaldevman/node_modules/ejs/lib/ejs.js:292:22) at View.render (/Users/luisgomez/Desktop/mashlocaldevman/node_modules/express/lib/view.js:75:8) at Function.app.render (/Users/luisgomez/Desktop/mashlocaldevman/node_modules/express/lib/application.js:504:10) at ServerResponse.res.render (/Users/luisgomez/Desktop/mashlocaldevman/node_modules/express/lib/response.js:677:7) at exports.index (/Users/luisgomez/Desktop/mashlocaldevman/routes/index.js:7:7) at callbacks (/Users/luisgomez/Desktop/mashlocaldevman/node_modules/express/lib/router/index.js:165:11) at param (/Users/luisgomez/Desktop/mashlocaldevman/node_modules/express/lib/router/index.js:139:11) 

我正在使用简单的HTML的意见和最新版本的快递。 视图渲染罚款,如果我从渲染调用中删除'linesvariables。

有任何想法吗?

谢谢,

路易斯

如果您注释掉行,那么行将不会被定义,因此无法评估长度:

 Lines: <%= lines.length %> 

如果您取消注释该代码,但由于某种原因stdout为空(stderr填充?),那么行也不能被定义。

你有没有尝试检查错误或stderr!== null并注销?

就像是:

 function (error, stdout, stderr) { console.log('stdout: ' + stdout); console.log('stderr: ' + stderr); if (error !== null) { console.log('exec error: ' + error); } }