JS - Как динамически импортировать модуль, ждать его и затем экспортировать модуль? - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь динамически импортировать модуль.Но я не могу понять, как правильно экспортировать.

const calendarLocale = async () => await import(`./lang/calendar/${lang}`);

const messages = {
    [lang]: {
      ...calendarLocale()
    }
}

export default new VueI18n({
   locale: lang, // set locale
   messages, // set locale messages
});

Поскольку он асинхронный, значение в сообщениях всегда пусто.

1 Ответ

0 голосов
/ 11 октября 2018

Это невозможно - для этого потребуется верхнего уровня await, который в настоящее время является только предложением.

Все, что вы можете сделать, это экспортировать обещание:

export default import(`./lang/calendar/${lang}`).then(calendarLocale => new VueI18n({
   locale: lang, // set locale
   messages: {
     [lang]: calendarLocale
   }, // set locale messages
}));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...