Node.js表示超出文件末尾的意外令牌

时间:2012-01-29 03:33:05

标签: javascript node.js syntax-error

我正在Node.js中开发一个非常简单的机器人,它将不再启动。 Node.js表示意外的令牌错误,但列出的行号超出了文件的末尾。具体来说,错误是:

C:\Users\Owner\Bot\jovial_bot.js:294
});
 ^

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
SyntaxError: Unexpected token )
    at Module._compile (module.js:427:25)
    at Object..js (module.js:450:10)
    at Module.load (module.js:351:31)
    at Function._load (module.js:310:12)
    at Array.0 (module.js:470:10)
    at EventEmitter._tickCallback (node.js:192:40)

程序的最后一行是} );但是,最后一行是第293行。在文件末尾添加换行符会增加Node.js报告的行号。据我所知,我没有任何不匹配的括号。我尝试添加(到文件的末尾,并将错误更改为“Unexpected token}”。添加“({”将错误更改为“意外的输入结束”。我不知道在哪里继续这个。谢谢你提前寻求帮助。

我的代码在这里:http://jsfiddle.net/kunkelwe/VEBtH/ 我正在使用此API:https://github.com/alaingilbert/Turntable-API/blob/master/turntable_data/deregistered.js

1 个答案:

答案 0 :(得分:2)

您在}行缺少102。您在toggle_mode行打开了一个名为74的函数,但您从未放置结束}

...

function toggle_mode( mode ) {
    switch( mode ) {
        ...
    }
// ** missing a '}' here **

//Events////////////////////////////////////////////////////////////////////////////////////////
bot.on( 'ready', function( data ) { //Join the room
    bot.roomRegister(ROOMID);
} );

...