Node.js normalizePort()函数在Nodejs中做什么?
我正在浏览,然后我看到了这行代码:Node.js normalizePort()函数在Nodejs中做什么?,node.js,express,normalize,Node.js,Express,Normalize,我正在浏览,然后我看到了这行代码: var port = normalizePort(process.env.PORT || '4300'); 为什么不呢 var port = (process.env.PORT || '4300'); 本博客对此有一个解释: normalizePort(val)函数只是将端口规范化为数字、字符串或false 我还是不明白。然后我看看什么是规范化。我有一些想法,但我还是不明白 normalizePort()函数的用途是什么 如果我们不使用它会发生什么 (举一
var port = normalizePort(process.env.PORT || '4300');
为什么不呢
var port = (process.env.PORT || '4300');
本博客对此有一个解释:
normalizePort(val)函数只是将端口规范化为数字、字符串或false
我还是不明白。然后我看看什么是规范化。我有一些想法,但我还是不明白
normalizePort()函数的用途是什么
如果我们不使用它会发生什么
(举一个例子来说明它的作用会帮助我理解)谢谢。来自Express Generator的:
function normalizePort(val) {
var port = parseInt(val, 10);
if (isNaN(port)) {
// named pipe
return val;
}
if (port >= 0) {
// port number
return port;
}
return false;
}
如果您是在代码上提供值的人,则不需要该函数。以下是
normalizePort()
的功能:
/**
* 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;
}
在大多数情况下,您基本上希望端口是数字而不是字符串。但在某些情况下,您可能希望传递非数字字符串,如命名管道、套接字等。这只是将解析为数字的字符串转换为数字,而不使用常规字符串。
我认为这将有助于阅读本页的这一部分
normalizePort
函数是在中引入的,它是Express团队的样板文件
从生成器代码:
/**
*将端口规范化为数字、字符串或false。
*/
函数normalizePort(val){
var port=parseInt(val,10);
如果(伊斯南(港口)){
//命名管道
返回val;
}
如果(端口>=0){
//端口号
返回端口;
}
返回false;
}
说明:
此功能是一个安全防护装置,用于确保提供的端口为数字
,如果不是数字,则为字符串
,如果有任何其他设置,则将其设置为false
如果您自己为环境变量提供端口,并通过某种配置确保端口始终是一个数字,那么您确实不需要normalizePort
函数,这就是您问题的答案:
为什么不呢
var port = (process.env.PORT || '4300');
变量端口=(process.env.port | |“4300”)
返回false的不仅仅是undefined。为什么该注释会说
命名管道
?