我是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找到一个流程。我们将不胜感激。