Angular 5/Typescript: классы / интерфейсы, экспортируемые в пространство имен
У меня есть библиотека, которая построена с использованием машинописного текста и скомпилирована с помощью Angular 5 compiler. Теперь есть несколько классов / интерфейсов, которые определены внутри пространства имен.
export namespace A{
export class C1 {
}
export interface I1{
}
}
Когда я компилирую этот код с угловым компилятором 5 ngc, он генерирует файл filename.metadata.json, который содержит значение [null].
И когда я использую эту библиотеку в своем приложении Angular 5, она выдает ошибку для этого нулевого файла.metadata.json.
TypeError: Невозможно прочитать свойство 'version' из null
Примечание: это работало с Angular 4.3.3. Также, когда я использую компилятор машинописного текста tsc, он даже не генерирует файл.metadata.json. Отсюда нет ошибок.
1 ответ
В выпуске Angular 5.1.2 команда Angular исправила проблему в компиляторе. Согласно их исправлению, они больше испускают недействительные файлы.metadata.json. Следовательно, для файлов, которые содержат только вложенные пространства имен, файлы ".metadata.json" не создаются.