Node.js читает файл по пути ярлыка (или псевдонима или ссылки) (или папки или каталога) - PullRequest
0 голосов
/ 03 ноября 2019
//C:\workspace\nodeapp1\server.js
const appProps = PropertiesReader('config/myapp.properties')
global.envProps = PropertiesReader(appProps.get('env.cfgfile'))

myapp.properties внутри источника приложения содержит только одно статическое свойство env.cfgfile=env_config/env.properties

env.properties может быть где угодно на машине (или общем диске), содержит все эти тонны специфических для среды свойств дляapplication.

Теперь проблема заключается в пути env_config, который является псевдонимом. Как передать фактический путь для этого псевдонима во время выполнения?

Рассмотрим ситуации, в которых я развертываю его на ПК, Mac, VM, Docker

Я считаю, что он применим к любому языку программирования, например Java,Python, Node.js, PHP и т. Д.

1 Ответ

0 голосов
/ 11 ноября 2019

Разобраться в этом простом методе замены на любом языке программирования поможет

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:\appconfigs\nodeapp1

...