es6

2016-01-12 37 views
7

में जेसन ऑब्जेक्ट का निर्यात/आयात करना मैं कुछ ES5 कोड ES6 में परिवर्तित कर रहा हूं।es6

मैं फ़ाइल StatesComponent.js

const STATES = require('../data/states.js'); 

मैं jspm उपयोग कर रहा हूँ और यह require का समर्थन नहीं करता में कहीं निम्न पंक्ति है, तो मैं बजाय ES6 import सिंटैक्स का उपयोग करना चाहते हैं।

exports.AU = [ 
    { value: 'australian-capital-territory', label: 'Australian Capital Territory', className: 'State-ACT' }, 
    { value: 'new-south-wales', label: 'New South Wales', className: 'State-NSW' }, 
    { value: 'victoria', label: 'Victoria', className: 'State-Vic' }, 

]; 

exports.US = [ 
    { value: 'AL', label: 'Alabama', disabled: true }, 
    { value: 'AK', label: 'Alaska' }, 
    { value: 'AS', label: 'American Samoa' }, 
]; 

STATES चर रहा states.js में json का प्रारूप कैसे बदल सकता हूँ ऐसी है कि मैं `आयात 'यह कर सकते हैं var options = STATES[this.state.country];

के रूप में इस्तेमाल किया जा रहा है:

states.js फ़ाइल निम्न शामिल हैं?

यानी import STATES from '../data/states'

+2

'आयात * के रूप में * आयात करें' ../ data/states.js''; –

+0

बस अपनी जानकारी के लिए: यह JSON नहीं है। ये जावास्क्रिप्ट शाब्दिक वस्तुएं हैं। – RoToRa

उत्तर

15

सुनिश्चित नहीं हैं कि आप पहले से ही इसका जवाब मिल गया है, लेकिन आप के रूप में निर्यात कर सकते हैं यदि: -

export default { 
    STATES: { 
    'AU' : {...}, 
    'US' : {...} 
    } 
}; 

आयात किए जा सकने के लिए जो के रूप में: -

import STATES from 'states'; 

या

var STATES = {}; 
STATES.AU = {...}; 
STATES.US = {...}; 
export STATES; 

आयात किए जा सकने जो करने के लिए के रूप में: -

import { STATES } from 'states'; 

सूचना एक default का उपयोग करता है और एक कि नहीं करता है के बीच का अंतर। default के साथ आप किसी भी जावास्क्रिप्ट अभिव्यक्ति को निर्यात कर सकते हैं और आयात के दौरान आप जो भी पहचानकर्ता का उपयोग कर सकते हैं और इसे default अभिव्यक्ति में डिफ़ॉल्ट कर दिया जाएगा। तुम भी

import whatever from 'states'; 

और whatever किया जा सकता है एक वस्तु है कि हम डिफ़ॉल्ट सौंपा का मूल्य मिलेगा।

इसके विपरीत, जब आप default अभिव्यक्ति निर्यात नहीं करते हैं, export वस्तु का एक हिस्सा है जो कारण है कि आप

import {STATES} 

उपयोग करने के लिए इस मामले में आप है सही शाब्दिक का इस्तेमाल किया था के रूप में यह निर्यात करता है काम पर आयात के लिए नाम या अन्यथा आयात यह समझने में सक्षम नहीं होगा कि आप आयात करने का प्रयास कर रहे हैं। साथ ही, ध्यान दें कि यह सही मान आयात करने के लिए object destructuring का उपयोग कर रहा है।

और @AlexanderT की तरह कहा, वहाँ के रूप में * भी, वास्तव में वहाँ import और export के विभिन्न तरीके हैं आयात करने के लिए तरीके हैं, लेकिन मुझे आशा है कि मैं कैसे इस import/export काम करता है की मूल अवधारणा की व्याख्या की।

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