ExpressJS:normalizePort函数真的有必要吗?

时间:2017-11-14 01:08:13

标签: node.js express

我使用express-generator作为新项目。

在文件bin/www中存在函数normalizePort

...

var http_port = 3000;

var port = normalizePort(process.env.PORT || http_port);
app.set('port', port);

...

// Normalize a port into a number, string, or false.

function normalizePort(val) {
  var port = parseInt(val, 10);

  if (isNaN(port)) {
    // named pipe
    return val;
  }

  if (port >= 0) {
    // port number
    return port;
  }

  return false;
}

问题:

真的有必要这个功能还是我可以简单的?

app.set('port', parseInt(process.env.PORT, 10));

该功能是通用的,可以避免可能的错误吗?

我使用dotenvdotenv-safe模块加载我的文件.env

1 个答案:

答案 0 :(得分:1)

normalizePort的行为不像parseInt。您可以向其中传递一串(非数字)文本,然后取回相同的字符串,这在某些非常罕见的情况下可能是必需的。如果您要在项目的整个生命周期中传递所有值,则可能不需要normalizePort或parseInt。