我使用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));
该功能是通用的,可以避免可能的错误吗?
我使用dotenv和dotenv-safe模块加载我的文件.env
答案 0 :(得分:1)
normalizePort的行为不像parseInt。您可以向其中传递一串(非数字)文本,然后取回相同的字符串,这在某些非常罕见的情况下可能是必需的。如果您要在项目的整个生命周期中传递所有值,则可能不需要normalizePort或parseInt。