2016-01-11 13 views
8

Ho questi due istruzioni import nel file:Come importare due classi con lo stesso nome in javascript/es6?

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

Entrambi i file contengono una classe denominata Data.

Come specificare quale è quale? Come posso evitare lo scontro sul nome?

+0

È possibile selezionare in base alla classe genitore un identificatore –

+0

È possibile fornire un codice di esempio in una risposta? –

risposta

33

Presumibilmente component/Data e actions/Data hanno entrambi default anziché esportazioni con nome? Come questo:

export default class Data {} 

Se questo è il caso, allora la importatore può chiamare le variabili ciò che vogliono:

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

Se prendono il nome esportazioni:

export class Data {} 

Poi si è necessario utilizzare le parentesi insieme a as per specificare i nomi di origine e di destinazione:

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

esattamente quello che stavo cercando, ho provato a importare {Data} come Data2 da 'actions/Data.js'; 'che non funzionava e venne qui e realizzato errore mio. – DarkMukke

Problemi correlati