如何在 Node.js 中存储部署配置文件?
配置文件(CONFIG 文件)是各种计算机应用程序使用的文件,由确定成功运行应用程序所需的设置的参数组成。通常,它们在编写任何软件应用程序之前使用。
每个网站都有特定的函数,例如收集有关其用户的信息。例如,它是一个在线购物网站,它存储了用户的支付信息。现在,考虑到网站上的个人信息网关,它的 URL 存储在配置文件中,但它会根据部署而有所不同。例如,如果它在开发服务器上,则 URL 将为info.gfg.com ,而当它与生产服务器打交道时,则 URL 将为secureinfo.gfg.com 。这种类型的设置很容易配置,如果我们以支付网关为例,它们也可以很容易地管理,但是当应用程序必须处理越来越多的部署时,就很难处理它们。
问题的解决方案:配置模块是用于解决此问题的模块,因为它以分层方式组织应用程序部署的配置。这意味着每个部署都有一个专门分配给它的配置文件,并且以某种最佳顺序访问它们。
按照下面给出的步骤,我们可以克服这个问题:
- 第 1 步:通过运行以下代码安装配置模块:
npm i config — save
- 步骤 2:配置模块处理根级别 config 目录中的配置文件。您可以通过执行以下代码将其更改为另一个目录:
app.js. process.env['NODE_CONFIG_DIR'] = __dirname + '/configDir/';
- 第 3 步:配置文件按以下顺序加载:
default.json {deployment}.json local.json local-{deployment}.EXT
该模块从 NODE_ENV 环境变量中选择部署。如果 NODE_ENV 的值为 development,则将使用 development.json。同样的条件也适用于其他文件。
- 第四步:我们有两个配置文件,一个用于本地开发,一个用于生产。
local.json { 'dbUrl': 'mongodb://localhost:27017/mydb' } production.json { 'dbUrl': 'mongodb://some-db-location/dbname' } var config = require(‘config’); config.get(‘dbUrl’);
通过编写额外的代码[(var config = require('config'); config.get('dbUrl');]
我们可以解决我们的问题。这里应用上一步中提到的条件,如果开发发生在本地环境中,则dbUrl的值将从local.json中获取,当它在生产环境中时(NODE_ENV = production),则该值将自动从production.json中获取。这个解决方案解决了这个问题根据应用部署需要配置多个文件。