2017-07-11 26 views
-2

在Node.js的项目中使用明确的框架运行自定义配置文件,通常配置文件夹下有3个文件:如何在node.js的项目

  • config.json - 运行在督促ENV
  • development.json - 在运行开发ENV
  • staging.json - 舞台ENV运行

我想创建一个名为example.json另一个配置文件,并使用运行本地开发环境而不是development.json,只要代码运行时使用特殊的环境变量process.env.LOCAL_PROD即可。

有没有办法做到这一点?

回答

0

你可以用node-config来做到这一点,我强烈推荐它,因为它允许多个配置文件甚至是基于主机名的配置文件。它还支持多种格式,包括.js配置不仅.json,您可以阅读更多关于node-config wiki中配置文件的各种设置。由于使用起来很简单,我几乎在所有需要配置的应用程序中都使用它。

现在,如果您不想使用包来处理这个问题,那么您可以使用require()来完成,因为它可以读取和解析.json文件以及.js。设置应用程序运行环境时使用的常用环境变量名为NODE_ENV

let config 
let env = process.env.NODE_ENV.toLowerCase() 
if (env === 'production') { 
    config = require('./config.json') 
} else if (env === 'staging') { 
    config = require('./staging.json') 
} else if (env === 'dev') { 
    config = require('./development.json') 
} else { 
    console.log('No configurable NODE_ENV detected, no config loaded') 
} 
+0

还有其他节点模块正在使用基于env变量值的现有配置。我不是只在一个地方使用该文件。 –

+0

然后通过使用依赖注入的配置 – peteb

+0

什么是依赖注入?你能详细说明吗? –