//C:workspacenodeapp1server.js
const appProps = PropertiesReader('config/myapp.properties')
global.envProps = PropertiesReader(appProps.get('env.cfgfile'))
应用程序源内的myapp.properties
仅包含一个静态属性env.cfgfile=env_config/env.properties
env.properties
可以位于机器上的任何位置(或共享驱动器(,其中包含应用程序的所有环境特定属性。
现在,关注的是路径env_config
,它是一个别名。如何在运行时传递此别名的实际路径?
考虑一下我在PC、Mac、VM、Docker 上部署的情况
我相信它适用于任何编程语言,如Java、Python、Node.js、PHP等。
在任何编程语言中找出这种简单的替换方法都将有助于
const envObj = process.env //Every language has a way to read env variables
global.getActVal = function(value) {
for (var key in envObj) value = value.replace(key, envObj[key])
return value
}
const appProps = PropertiesReader('config/myapp.properties')
global.envProps = PropertiesReader(getActVal(appProps.get('env.cfgfile')))
每个操作系统都有一种设置环境变量的方法,这些变量是键值对,这里的值可以是目录路径。
例如,在Windows中,set env_config=C:appconfigsnodeapp1