2016-01-11 4 views
8

Ich habe diese beiden Import-Anweisungen in der Datei:Wie importiere ich zwei Klassen mit demselben Namen in Javascript/es6?

import Data from 'component/Data.js'; 
import Data from 'actions/Data.js'; 

Beide Dateien enthalten eine Klasse namens Data.

Wie kann ich angeben, welche ist welche? Wie kann ich Namenskonflikte vermeiden?

+0

Sie können basierend auf ihrer übergeordneten Klasse als Kennung auswählen –

+0

Können Sie einen Beispielcode in einer Antwort angeben? –

Antwort

33

Vermutlich component/Data und actions/Data beide haben default exportiert eher als benannte Exporte? Wie folgt aus:

export default class Data {} 

Wenn das der Fall ist, dann wird der Importeur können die Variablen nennen, was sie wollen:

import Data1 from 'component/Data.js'; 
import Data2 from 'actions/Data.js'; 

Wenn sie Exporte genannt:

export class Data {} 

Dann sind Sie müssen Klammern zusammen mit as verwenden, um die Quell- und Zielnamen anzugeben:

import { Data as Data1 } from 'component/Data.js'; 
import { Data as Data2 } from 'actions/Data.js'; 
+0

genau nach was ich gesucht habe, habe ich' Import {Data} als Data2 aus' actions/Data.js '; 'was nicht funktioniert und kam hierher und realisierte mein Fehler. – DarkMukke

Verwandte Themen