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的意见和最新版本的快递。 视图渲染罚款,如果我从渲染调用中删除'lines
variables。
有任何想法吗?
谢谢,
路易斯
如果您注释掉行,那么行将不会被定义,因此无法评估长度:
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); } }