AskMy
@AskMy
иногда решаю задачки и задаю глупые вопросы

Ошибка при запуске server.js, как исправить?

Почему то появилась ошибка при запуске сервера
server.js

var http = require("http"),
url = require("url"),
path = require("path"),
fs = require("fs"),
port = process.argv[2] || 65535;

http.createServer(function(request, response) {

var uri = url.parse(request.url).pathname
, filename = path.join(process.cwd(), uri);

fs.exists(filename, function(exists) {
if(!exists) {
response.writeHead(404, {"Content-Type": "text/plain"});
response.write("404 Not Found\n");
response.end();
return;
}

if (fs.statSync(filename).isDirectory()) filename += '/index.html';

fs.readFile(filename, "binary", function(err, file) {
if(err) {
response.writeHead(500, {"Content-Type": "text/plain"});
response.write(err + "\n");
response.end();
return;
}

response.writeHead(200);
response.write(file, "binary");
response.end();
});
});
}).listen(parseInt(port, 65535));

console.log("Static file server running at\n => http://localhost:" + port + "/\nCTRL + C to shutdown");


Всегда ругается на плохой порт :
error port

RangeError [ERR_SOCKET_BAD_PORT]: Port should be > 0 and < 65536. Received NaN.
at Server.listen (net.js:1499:13)
at Object. (C:\Users\Lensky\Desktop\server\server.js:35:4)
at Module._compile (module.js:660:30)
at Object.Module._extensions..js (module.js:671:10)
at Module.load (module.js:573:32)
at tryModuleLoad (module.js:513:12)
at Function.Module._load (module.js:505:3)
at Function.Module.runMain (module.js:701:10)
at startup (bootstrap_node.js:194:16)
at bootstrap_node.js:618:3


как исправить ?
  • Вопрос задан
  • 652 просмотра
Решения вопроса 1
0xD34F
@0xD34F
listen(parseInt(port, 65535))

Received NaN.

Что неудивительно. Для любого основания системы счисления больше 36, результатом выполнения parseInt будет NaN, согласно спецификации.

Явная опечатка, очевидно же, что 65535 предполагается в качестве дефолтного значения, а не основания системы счисления.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы