Как я могу получить свойство элемента из массива с помощью node-config - PullRequest
0 голосов
/ 13 мая 2019

Я не могу получить элемент из массива в файле конфигурации.

{ 
 "crawlerConfigurations":{
        "ClickDelay": 100,
        "TypeDelay": 200,
        "Selectors": {
            "Search": [
                {
                    "SearchInitUrl": "https://www.wukong.com"
                 }
          ]
  }
}

Я пытаюсь получить SearchInitUrl реквизит первого элемента поиска и использую

config.get(`crawlerConfigurations.Selectors.Search[0].SearchInitUrl`)
config.get(`crawlerConfigurations.Selectors.Search.[0].SearchInitUrl`)

не работает

Надеюсь, кто-нибудь поможет, заранее спасибо.

1 Ответ

1 голос
/ 13 мая 2019

Я не рекомендую массивы в конфигах, потому что они рассматриваются как единое целое с точки зрения переопределения (например, строки - это массивы символов, и вы не можете переопределить подстроку).

Тем не менее,иногда вы хотите такое поведение.Когда вы это сделаете, следующее должно работать

config.get('crawlerConfigurations.Selectors.Search.0.SearchInitUrl');

Число ноль (0) является именем переменной, как и другие имена в пути.Не уверен, почему в исходном вопросе в строке было «:», но это была ошибка.

...