运行 app.js 时出现 Nodejs-mongoose-0.0.5 错误
Posted
技术标签:
【中文标题】运行 app.js 时出现 Nodejs-mongoose-0.0.5 错误【英文标题】:Nodejs-mongoose-0.0.5 error when run app.js 【发布时间】:2011-06-12 19:13:54 【问题描述】:/usr/local/lib/node/.npm/mongoose/0.0.5/package/lib/util.js:40
continue;
^^^^^^^^
node.js:68
throw e; // process.nextTick error, or 'error' event on first tick
^
SyntaxError: Illegal continue statement
at Module._compile (node.js:418:29)
at Object..js (node.js:429:14)
at Module.load (node.js:355:35)
at Function._load (node.js:322:14)
at require (node.js:367:23)
at Object.<anonymous> (/usr/local/lib/node/.npm/mongoose/0.0.5/package/lib/model.js:2:13)
at Module._compile (node.js:423:30)
at Object..js (node.js:429:14)
at Module.load (node.js:355:35)
at Function._load (node.js:322:14)
代码就是:
var mongoose = require('mongoose').Mongoose;
mongoose.model('User',
properties: ['user', 'pass', 'widgets' ],
indexes: [ 'user' : 1 , unique : true ],
);
.......
/usr/local/lib/node/.npm/mongoose/0.0.5/package/lib/util.js:40
else
// Prevent never-ending loop
if (target === d.value)
continue;
即使我注释了 continue 语句,也会导致另一个错误日志:
node.js:68
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: ECONNREFUSED, Connection refused
at Socket._onConnect (net.js:548:18)
at IOWatcher.onWritable [as callback] (net.js:165:12)
有什么想法吗?
【问题讨论】:
发布更多代码可能会有所帮助——我不知道 continue 和 if 语句的上下文是什么。连接被拒绝可能是因为没有您继续,您将其发送到无限循环并烧毁您的连接。 【参考方案1】:/usr/local/lib/node/.npm/mongoose/0.0.5/package/lib/util.js
编辑此文件并从继续更改第 40 行;返回;
在 Array.prototype.forEach 中,不支持 continue(您可以使用下面的示例在 firebug 的控制台中测试 return 与 continue)
[1,2,3,4].forEach(function(val, arr)
if(val != 1)
console.log(val);
return;
//continue;
console.log('here');
);
【讨论】:
不确定我是否会更改 continue 以获得回报,如果 continue 之后的所有内容都被注释掉并且 if 语句之后的所有内容都被放入 else 子句中,可能会更好地保持行为:【参考方案2】:ECONNREFUSED 是因为您的 mongod 没有运行 - 连接字符串在哪里?
【讨论】:
以上是关于运行 app.js 时出现 Nodejs-mongoose-0.0.5 错误的主要内容,如果未能解决你的问题,请参考以下文章
node.js 项目在本地机器上工作,在 Heroku 上部署时出现问题