使用Node.js和SQLite3的简单数据库服务器抛出未知错误

时间:2014-03-04 19:55:07

标签: debugging

我是js和数据库的新手,我正在尝试创建一个简单的服务器,将邮政编码输入的城市和状态返回到网址。到目前为止,这是服务器代码:

var express = require('express');
var anyDB = require('any-db');

var conn = anyDB.createConnection('sqlite3://zipcodes.db');

var app = express();



app.get('/:zipcode', function(request, response){
    console.log(request.method, request.url);
    console.log('zipcode received');
    var urlcode = request.params.zipcode;
    var newQuery = 'SELECT * FROM zipcodes WHERE zipcode=\'' + urlcode + '\'';
    conn.query(newQuery, function(error, result) {
        console.log(error);
        console.log(result);
        var theCity = result.rows[0].city;
        var theState = result.rows[0].state;
        response.send('<h1>' + theCity + ", " + theState + '</h1>');
    });             
});

app.listen(8080, function(){
    console.log('- Server listening on port 8080'.grey);
});

抛出的错误看起来像这样:

events.js:71
        throw arguments[1]; // Unhandled 'error' event
                       ^
Error: listen EADDRINUSE
    at errnoException (net.js:770:11)
    at Server._listen2 (net.js:910:14)
    at listen (net.js:937:10)
    at Server.listen (net.js:986:5)
    at Function.app.listen (../node_modules/express/lib/application.js:532:24)
    at Object.<anonymous> (../server.js:31:5)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)

我知道EADDRINUSE应该意味着端口已经在使用,但是当我运行时

ps -a | grep node

我无法在8080找到一个流程。我们将不胜感激。

0 个答案:

没有答案