У меня есть вопрос о конфликте имен, но это не вызвало никаких ошибок и, кажется, обычно экспортируется во внешнюю область. Лучший способ показать это в этом упрощенном коде;
Конечные точки.model.ts
namespace Endpoints {
export class FruitWorld {
apple: string;
banana: string;
seller: string;
sellerId: string;
get produceDate() {
...
}
}
}
export class FruitWorld extended Endpoints.FruitWorld {
Seller: string;
SellerId: string;
get ProduceDate() {
...
}
constructor(...init: Partial<Endpoints.FruitWorld>[]) {
super();
init.map(data => {
delete data.Apple;
delete data.Banana;
Object.assign(this, data);
}
}
}
export namespace FruitWorld {
// Some overwrite function
// extended functionalities
}
app.ts
import { FruitWorld } "./Endpoints.model";
Вот запутанная часть, какой из FruitWorld
импортируется сюда? Насколько я могу судить, это импортируемый класс.
Я прочитал этот вопрос о стеке и этот вопрос о стеке, но на самом деле они не касаются того, что, если у нас есть класс и пространство имен имеют одно и то же имя и существуют в одном файле. Что получает экспорт?