2016-11-18 4 views
0

Ich habe fast einen Namen Kollision verursacht, weil ich eine Klasse mit gemeinsamen Namen Message, erstellt haben, die in PrimeNG existiert bereits:Namenskollision durch das Modul Import in Angular 2 - ist es eine Möglichkeit, es zu verhindern

import {Message} from "primeng/primeng"; 
import {Message} from "./dto"; 

Da es mein Code ist, könnte ich die Klasse einfach in etwas anderes umbenennen (wie MessageDTO). Aber wenn das die externe Klasse wäre, hätte ich ein Problem.

Gibt es eine Möglichkeit zum Importieren von Klassen mit Alias ​​oder anderen Mitteln zur Behandlung von Namenskonflikten? I Java Sie können sich auf die Klasse beziehen, indem Sie den voll qualifizierten Namen anstelle des Imports verwenden, was hässlich aussieht, aber oft unvermeidbar ist. Wie sieht es in Angular 2/TypeScript aus?

+0

die Compileranweisung "moduleResolution" auf "klassisch". in tsconfig.json –

Antwort

13

Per TypeScriptimport document Importe können auch gleiche wie unten umbenannt werden:

import { Message } from "primeng/primeng"; 
import { Message as MessageDTO } from "./dto"; 
Verwandte Themen