2016-01-11 15 views
8

Ben dosyada bu iki ithalat ifadeleri vardır:Javascript/es6 ile aynı ada sahip iki sınıf nasıl içe aktarılır?

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

iki dosya Data adında bir sınıf içerir.

Hangisinin hangisi olduğunu nasıl belirleyebilirim? İsim çatışmasını nasıl önleyebilirim?

+0

Ebeveyn sınıfını tanımlayıcı olarak tanımlayabilirsiniz –

+0

Bir cevapta örnek kod sağlayabilir misiniz? –

cevap

33

Muhtemelen component/Data ve actions/Data, her ikisi de adlandırılmış dışa aktarma yerine varsayılan dışa aktarılıyor? Sonra sizi

export class Data {} 

:

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

onlar adlandırılmışlarsa ihracat: Eğer durum buysa

export default class Data {} 

ardından ithalatçı ne isterse onu değişkenleri çağırabilirsiniz: Bunun gibi Kaynak ve hedef adlarını belirtmek için as ile birlikte parantez kullanmanız gerekir:

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

'u atar, ben de "Data/Data.js" den Data2 olarak içe aktarmayı denedim. benim hatam. – DarkMukke

İlgili konular