Доступ к содержимому объектов при создании - PullRequest
0 голосов
/ 08 февраля 2020

Я пытаюсь создать большой объект, содержащий переменные пути API. Мне нужно иметь возможность часто вносить изменения в пути apis для переноса приложения, поэтому я надеялся создать несколько базовых путей в одном файле и следовать схеме моей документации api в почтальоне. Это способ, которым я надеялся использовать:

export const BASES = {
  OD: {
    BASE: `${urlbase}/od/`,
    READ: `${BASES.OD.BASE}/read/v1/`,
    WRITE: `${BASES.OD.BASE}/write/v3`,
  },
  WH: {
    BASE: `${urlbasenew}/wh/`,
    EX: `${BASES.WH.BASE}/ex`,
  },
};

И затем получить доступ к пути через BASES.OD.READ и так далее ...

Теперь я получаю ошибку

ReferenceError: Cannot access 'BASES' before initialization

Что кажется мне логичным. Есть ли элегантный способ справиться с этим? (Или, может быть, я просто слепой) Погуглить ошибку не помогает, на первый взгляд это никто не пробовал.

1 Ответ

1 голос
/ 08 февраля 2020

Один из способов сделать это - извлечь базовые URL-адреса, чтобы вы могли использовать их во многих частях вашего объекта:

const odBase = `${urlbase}/od/`
const whBase = `${urlbasenew}/wh/`;

export const BASES = {
  OD: {
    BASE: odBase,
    READ: `${odBase}/read/v1/`,
    WRITE: `${odBase}/write/v3`,
  },
  WH: {
    BASE: whBase,
    EX: `${whBase}/ex`,
  },
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...