HapiJS 重新启动服务器:外部化配置

当我们为 HapiJS 编写服务器代码时,我们通常手动选择端口号和其他服务器配置。然而,在一个真实的生产环境下,我们需要更灵活的方法,以便我们可以改变配置而无需重新启动服务器。这就是外部化配置的一个例子。

本文将通过实现一个外部化配置文件的例子,来演示 HapiJS 如何重新启动服务器。

安装 HapiJS

首先,我们需要安装 HapiJS。打开命令行终端并输入以下命令:

--- ------- ----

在此之前,确保你的机器上已经安装了 Node.js 和 npm。

编写服务器代码

现在,我们可以编写 HapiJS 服务器代码了。以下是一个简单的示例:

----- ---- - ----------------

----- ------ - --- -------------
  ----- ------------
  ----- ----
---

--------------
  ------- ------
  ----- ----
  -------- --------- -- -- -
    ------ ------- --------
  -
---

----- ----- - ----- -- -- -
  ----- ---------------
  ------------------- ------- --- ---------------------
--

--------

在上面的代码中,我们创建了一个 HapiJS 服务器,该服务器监听本地主机上的端口号 3000,并设置一个路由,该路由返回一个“Hello, world!”字符串。我们通过 start() 方法启动服务器。

添加外部化配置

现在,我们将添加一个配置文件,使我们能够更轻松地更改服务器配置,而无需重新启动服务器。

我们需要在根目录下创建一个名为 config.js 的文件,并将以下代码添加到其中:

-------------- - -
  ----- ------------
  ----- ----
--

在上面的代码中,我们定义了一个 host 和一个 port,这些值将在服务器启动时被用于设置 HapiJS 服务器。现在,我们可以让服务器读取这个配置文件并使用它来启动服务器。

我们需要对原始服务器代码进行些修改,以便它读取配置文件内容。以下是修改后的代码:

----- ---- - ----------------
----- ------ - --------------------

----- ------ - --- -------------
  ----- ------------
  ----- -----------
---

--------------
  ------- ------
  ----- ----
  -------- --------- -- -- -
    ------ ------- --------
  -
---

----- ----- - ----- -- -- -
  ----- ---------------
  ------------------- ------- --- ---------------------
--

--------

在上面的代码中,我们引入了 config.js 文件并将其内容保存在 config 常量中。然后,我们在创建服务器对象时使用 config 中定义的 hostport 值。这样,我们就可以从配置文件中动态读取这些值。

最后,我们可以更改配置文件的值,并使用以下代码重新启动服务器:

----- ---- - ----------------
----- ------ - --------------------

----- ------ - --- -------------
  ----- ------------
  ----- -----------
---

--------------
  ------- ------
  ----- ----
  -------- --------- -- -- -
    ------ ------- --------
  -
---

----- ----- - ----- -- -- -
  ----- ---------------
  ------------------- ------- --- ---------------------

  ----- --------------

  -- ---------
  ----------- - -----

  -- -------
  -------------------- - ------------
  ----- ---------------

  ------------------- ------- --- ---------------------
--

--------

在上面的代码中,我们使用 server.stop() 方法停止服务器,然后更改配置文件中的 port 值,并使用 server.settings.port 将值反应回服务器对象。然后,我们使用 server.start() 方法重新启动服务器,并输出服务器信息。

当我们执行此代码时,我们将看到服务器已经停止,并且 port 值已更改为 3001,然后我们重新启动服务器并查看服务器正在监听的端口号。

结论

在本文中,我们介绍了如何使用外部化配置文件来重新启动 HapiJS 服务器。我们演示了如何读取配置文件内容,并在需要时更改配置文件。这个技术不仅增加了灵活性,同时也提高了可维护性和代码可读性。

我们强烈建议您使用类似的技术来处理您的 HapiJS 服务器配置。这将使您的代码更加清晰,并且更轻松地实现更改和维护。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/66fa9d8b44713626014e2aa1