Ошибка "Система не определена (...)" INTERNATIONALIZATION (I18N), angular -cli
Я пытался изучить этот учебник с помощью JiT и angular -cli. У меня есть следующие ошибки в консоли браузера, но нет ошибки в работе терминала/сборки приложения.
Неподготовлено ReferenceError: система не определена (...)
Неиспользуемая ошибка: не удается найти модуль. /locale/messages.fr.xlf!text '. (...)
![введите описание изображения здесь]()
Мой код в github https://github.com/sayedrakib/internationalization_project.git
Я добавил systemjs-text-plugin.js в корневую папку, согласно инструкции в учебнике.
Файловая структура
![введите описание изображения здесь]()
Я думаю, что я испортил путь к файлу в некоторых файлах, потому что я чувствовал, что предполагаемая структура файла в учебнике и angular -cli созданная структура файла не одинакова.
Ответы
Ответ 1
Я вижу, что вы используете angular -cli, чем если вы хотите загрузить 3party libery, вам нужно работать с angular -cli.json файлом.
Сначала запустите в своем каталоге приложений npm install systemjs
Во-вторых, вам нужно добавить путь к systemjs в ваш файл angular -cli.json.
"scripts": [
"../node_modules/systemjs/dist/system.js"
]
если вам нужно загрузить другое 3party libery, просто повторите 2 этапа.
Ответ 2
Взял меня, чтобы понять это!
Если вы следовали документации, измените это:
- Загрузите system.js, но он в корне (/app) и импортирует его перед тегом script.
- В index.html удалите System.import('приложение')
- Переименуйте все из System на SystemJS (index.html, i18n-services.ts)
Наконец, это выглядит так:
index.html
<body>
<app-root>Loading...</app-root>
<script src="system.js"></script>
<script>
// Get the locale id somehow
document.locale = 'es';
// Map to the text plugin
SystemJS.config({
map: {
text: 'systemjs-text-plugin.js'
}
});
</script>
</body>
i18n-providers.ts
export function getTranslationProviders(): Promise<Object[]> {
[...]
}
declare let SystemJS: any;
function getTranslationsWithSystemJs(file: string) {
return SystemJS.import(file + '!text'); // relies on text plugin
}
Я открыл GitHub Issue для обновления документации.