【问题标题】:Best way to maintain the application hostname and port for a Node.js app维护 Node.js 应用程序的应用程序主机名和端口的最佳方式
【发布时间】:2017-07-03 09:04:51
【问题描述】:

我有一个非常简单的 Node js 应用程序,它侦听特定的主机 IP 地址和端口号。 现在我在函数内部的一个 js 文件(称为 config.js)中维护这个主机名和端口号。 当我创建服务器时,我调用这些函数,它们返回硬编码的主机名和端口值,我使用它们创建服务器并监听它。

所以如果主机名和端口发生变化,我必须去 config.js 并简单地更改它。 不过我觉得,这样不好。 维护主机和端口的最佳实践是什么,以及我们通常如何为大型节点应用程序维护它。寻找这方面的一些信息

感谢和热烈的问候 穆萨菲尔

【问题讨论】:

    标签: node.js web-applications


    【解决方案1】:

    有一个名为 config 的 npm 包,您可以使用它来存储配置, https://www.npmjs.com/package/config,这是一个高度使用的包,用于管理多个环境中的配置。

    您可以使用它来进行多个配置,这些配置可以由环境变量设置,并在 dockerized 环境中使用 docker 特定的环境变量,使用 custom-environment-variables.js 覆盖 default.js。

    更多详情 https://github.com/lorenwest/node-config/wiki/

    【讨论】:

      【解决方案2】:

      我认为你应该把你的主机名和发布到环境变量。 对于开发者,可以使用https://www.npmjs.com/package/dotenv进行开发。

      例如

      HOST_NAME=xxxx
      PORT=3000
      

      在您的代码中,您可以通过process.env.HOST_NAMEprocess.env.PORT 获得价值

      【讨论】:

        【解决方案3】:

        一个简单的方法是在 package.json 文件中维护它,比如

        “主机”:“11.12.13.114”, "端口":"3333",

        可以在你想要值的js文件中要求这个

        const package = require("./package.json");

        console.log(package.host) --> 11.12.13.114

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-09-30
          • 2011-09-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-01-21
          • 2014-04-13
          • 2011-09-10
          相关资源
          最近更新 更多