Node.js版本已更改,脚本不再有效

时间:2014-12-22 21:15:46

标签: javascript node.js

我相信我已经从v0.10.31升级到v.0.10.34,从那以后,我的node.js应用程序遇到了问题。

/** Variables */
var app = require('http').createServer(handler),
    io = require('socket.io').listen(app),
    url = require('url');

/** Listen on port # */
app.listen( 60003 );

/**
 * Parse server messages
 * Redirect to home page if accessed directly
 */
function handler( request, response ) {
    var requestURL = url.parse(request.url, true);

    /** ... */

    response.writeHead(302, {
        'Location': 'http://www.google.com'
    });
    response.end();
}

cat ./nohup.out

  

./ node.js:第2行:意外令牌附近的语法错误(' ./node.js: line 2: var app = require(' http')。createServer(handler),'

1 个答案:

答案 0 :(得分:2)

您看到的错误是由于您尝试执行脚本的方式。 node ./node.js有效,因为您通过节点显式加载脚本。

但是nohup ./node.js不起作用,因为shell期望文件是shell脚本。如果要以这种方式执行脚本,则需要添加适当的哈希行以告诉shell用于解释文件的程序。例如:#!/usr/bin/env node