当我们为 HapiJS 编写服务器代码时,我们通常手动选择端口号和其他服务器配置。然而,在一个真实的生产环境下,我们需要更灵活的方法,以便我们可以改变配置而无需重新启动服务器。这就是外部化配置的一个例子。
本文将通过实现一个外部化配置文件的例子,来演示 HapiJS 如何重新启动服务器。
安装 HapiJS
首先,我们需要安装 HapiJS。打开命令行终端并输入以下命令:
npm install hapi
在此之前,确保你的机器上已经安装了 Node.js 和 npm。
编写服务器代码
现在,我们可以编写 HapiJS 服务器代码了。以下是一个简单的示例:
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ------ - --- ------------- ----- ------------ ----- ---- --- -------------- ------- ------ ----- ---- -------- --------- -- -- - ------ ------- -------- - --- ----- ----- - ----- -- -- - ----- --------------- ------------------- ------- --- --------------------- -- --------
在上面的代码中,我们创建了一个 HapiJS 服务器,该服务器监听本地主机上的端口号 3000,并设置一个路由,该路由返回一个“Hello, world!”字符串。我们通过 start()
方法启动服务器。
添加外部化配置
现在,我们将添加一个配置文件,使我们能够更轻松地更改服务器配置,而无需重新启动服务器。
我们需要在根目录下创建一个名为 config.js
的文件,并将以下代码添加到其中:
module.exports = { host: 'localhost', port: 3000 };
在上面的代码中,我们定义了一个 host
和一个 port
,这些值将在服务器启动时被用于设置 HapiJS 服务器。现在,我们可以让服务器读取这个配置文件并使用它来启动服务器。
我们需要对原始服务器代码进行些修改,以便它读取配置文件内容。以下是修改后的代码:
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ------ - -------------------- ----- ------ - --- ------------- ----- ------------ ----- ----------- --- -------------- ------- ------ ----- ---- -------- --------- -- -- - ------ ------- -------- - --- ----- ----- - ----- -- -- - ----- --------------- ------------------- ------- --- --------------------- -- --------
在上面的代码中,我们引入了 config.js
文件并将其内容保存在 config
常量中。然后,我们在创建服务器对象时使用 config
中定义的 host
和 port
值。这样,我们就可以从配置文件中动态读取这些值。
最后,我们可以更改配置文件的值,并使用以下代码重新启动服务器:
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ------ - -------------------- ----- ------ - --- ------------- ----- ------------ ----- ----------- --- -------------- ------- ------ ----- ---- -------- --------- -- -- - ------ ------- -------- - --- ----- ----- - ----- -- -- - ----- --------------- ------------------- ------- --- --------------------- ----- -------------- -- --------- ----------- - ----- -- ------- -------------------- - ------------ ----- --------------- ------------------- ------- --- --------------------- -- --------
在上面的代码中,我们使用 server.stop()
方法停止服务器,然后更改配置文件中的 port
值,并使用 server.settings.port
将值反应回服务器对象。然后,我们使用 server.start()
方法重新启动服务器,并输出服务器信息。
当我们执行此代码时,我们将看到服务器已经停止,并且 port
值已更改为 3001
,然后我们重新启动服务器并查看服务器正在监听的端口号。
结论
在本文中,我们介绍了如何使用外部化配置文件来重新启动 HapiJS 服务器。我们演示了如何读取配置文件内容,并在需要时更改配置文件。这个技术不仅增加了灵活性,同时也提高了可维护性和代码可读性。
我们强烈建议您使用类似的技术来处理您的 HapiJS 服务器配置。这将使您的代码更加清晰,并且更轻松地实现更改和维护。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66fa9d8b44713626014e2aa1