我在一个新项目中使用了 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 的模块
最佳答案
normalizePort 的行为并不像 parseInt。您可以将一串(非数字)文本传递给它并返回相同的字符串,这在极少数情况下可能是必需的。如果您在项目的整个生命周期中自己传递所有值,您可能不需要 normalizePort 或 parseInt。
关于node.js - ExpressJS : normalizePort function is really necessary?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47276081/