node.js - ExpressJS : normalizePort function is really necessary?

标签 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 的模块

最佳答案

normalizePort 的行为并不像 parseInt。您可以将一串(非数字)文本传递给它并返回相同的字符串,这在极少数情况下可能是必需的。如果您在项目的整个生命周期中自己传递所有值,您可能不需要 normalizePort 或 parseInt。

关于node.js - ExpressJS : normalizePort function is really necessary?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47276081/

相关文章:

javascript - 为什么我得到这个 'res.render() is not a function'

json - Node 和 express 发送 json 格式

javascript - 是否有任何原因导致我无法获取我的页面

node.js - 如何使用 exits 和 actions2 在 sails 1.0 中设置动态 viewTemplatePath?

node.js - Puppeteer 无法抓取动态生成的内容

javascript - Node.JS 中的 MySQL 请求总是返回旧数据集

node.js -/bin/sh : sequelize: not found when I try to run express. js 应用程序与 docker-compose

html - 检查 html 表中的重复行

node.js - 使用 Node fs.createWriteStream 生成日志,但它正在写入重复项

node.js - 如何使用 Express JS/RailwayS (Node.JS) 生成 JSON