Tag: node config

如何在运行时使用node-config覆盖configuration值?

我想在testing时重写一些值,特别是将http服务的重试设置为1(立即失败,不重试)。 我们的项目使用node-config 。 根据文档我可以用NODE_CONFIG envvariables覆盖: node myapp.js –NODE_CONFIG='{"Customer":{"dbConfig":{"host":"customerdb.prod"}}}' 那么我宁愿在我的testing中这样做,但不是所有的testing。 代码说你可以通过设置ALLOW_CONFIG_MUTATIONS来允许configurationALLOW_CONFIG_MUTATIONS 。 process.env.ALLOW_CONFIG_MUTATIONS = "true"; const importFresh = require('import-fresh'); importFresh("config"); process.env.NODE_CONFIG = JSON.stringify({httpServices:{integration:{enrich: {retryInterval: 1, retries: 1}}}}); expect(process.env.NODE_CONFIG, 'NODE_CONFIG not set').to.exist(); expect(process.env.NODE_CONFIG, 'NODE_CONFIG not set').to.match(/retryInterval/); expect(process.env.ALLOW_CONFIG_MUTATIONS, 'ALLOW_CONFIG_MUTATIONS not set').to.equal("true"); const testConfig = require("config"); console.dir(testConfig.get("httpServices.integration.enrich")); expect(testConfig.get("httpServices.integration.enrich.retryInterval"), 'config value not set to 1').to.equal(1); 结果: { url: 'https://internal-**********', retryInterval: […]