В моем приложении установлена система перевода времени выполнения, которая до перехода на Angular 7 использовала http-запросы для загрузки файла JSON, заполненного переводами, как показано ниже:
loadLanguage(lang: string) {
this.http.get('assets/lang/' + lang + '.json)
.toPromise()
.then((translations) => this.translations = translations; )
}
В рамках обновления до Angular 7 я решил попробовать импортировать json напрямую, а не использовать http для его получения. Это новый способ, которым я реализовал это:
async loadLanguage(lang: string) {
this.translations = await import('assets/lang/' + lang + '.json);
}
Это работает так, как я ожидал бы в плане изменения языка, но проблема, с которой я сталкиваюсь, заключается в том, что изменение файлов JSON после компиляции не влияет на выходные данные импорта.
Из комплекта, созданного компиляцией, похоже, что все импортированные файлы компилируются в порции, которые затем загружаются, когда я запрашиваю этот конкретный файл json. Я просто получаю неправильное представление об этих импортах и о том, как они работают при использовании с веб-пакетом, или есть что-то очевидное, что я упустил при рефакторинге моего решения?
Спасибо