Reputation: 4705
I'm trying to dynamically import a module. But I'm not able to figure it out, how to export it correctly.
const calendarLocale = async () => await import(`./lang/calendar/${lang}`);
const messages = {
[lang]: {
...calendarLocale()
}
}
export default new VueI18n({
locale: lang, // set locale
messages, // set locale messages
});
Because it's asynchronous the value in messages is always empty.
Upvotes: 2
Views: 1679
Reputation: 664513
This is not possible - it would require top-level await
, which currently is a proposal only.
All you can do is export a promise:
export default import(`./lang/calendar/${lang}`).then(calendarLocale => new VueI18n({
locale: lang, // set locale
messages: {
[lang]: calendarLocale
}, // set locale messages
}));
Upvotes: 3