2016-10-10 12 views
5

ईएस 6 जावास्क्रिप्ट के भीतर एक मॉड्यूल को चालू करने और ES5 के लिए पारदर्शी करना चाहता था। मैं अपनी परियोजना में एक नई कक्षा स्थापित कर रहा हूं जो es6/webpack है। मैं कंसोल लॉग शो एक खाली वस्तु के लिए कोशिश कर रहा हूँटाइप त्रुटि - कोई कन्स्ट्रक्टर नहीं है

import { Track } from './track'; 

const track = new Track(); 
console.log(track); 

-

export default class Track { 
    constructor() { 
    this.o = {}; 
    } 
} 

अन्य index.js है - track.js जो निम्नलिखित: मैं 2 फ़ाइलें है। इसके बजाय, मैं हो रही है - Uncaught TypeError: _track.Track एक निर्माता

+2

आयात './track' से ट्रैक – Kevin

उत्तर

5

समस्या जिस तरह से आप index.js में Track आयात कर रहे हैं के साथ नहीं है। आप या तो इस तरह आयात करने की जरूरत है:

import Track from './track'; 

या track.js में आप इस तरह इसे निर्यात करने की जरूरत है:,

export {Track} 
8

आप Track डिफ़ॉल्ट के रूप में निर्यात कर रहे हैं ताकि आप डिफ़ॉल्ट आयात का उपयोग करना चाहिए। बदले

import { Track } from './track'; 

import Track from './track'; 

को What is "export default" in javascript?


देखें जब आप आप निर्यात वस्तु की Track संपत्ति (जो रास्ते का वर्ग है) का उपयोग करने की कोशिश कर रहे हैं करते हैं, जो अनिर्धारित है (इसलिए यह एक निर्माता नहीं है)।

संबंधित मुद्दे