2015-12-31 5 views
6

मैं ECMA स्क्रिप्ट 6. में मेरी मॉड्यूल के लिए विभिन्न मॉड्यूल आयात करने के लिए उदाहरण के लिए करना चाहते हैं:ecmascript-6 में मॉड्यूल कैसे आयात करें?

import rest from 'rest'; 

export function client() { 

    // some logic 

} 

मैं क्लासिक के लिए इंपोर्ट स्टेटमेंट बदल जाएगी:

var rest = require('rest'); 

सब कुछ ठीक काम कर रहा है। कोई विचार?

+0

'आयात foo ...' तभी काम करता है आयातित मॉड्यूल एक डिफ़ॉल्ट निर्यात है। आपको जो कुछ भी जानने की आवश्यकता है उसे https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import में निहित होना चाहिए। –

+0

धन्यवाद फेलिक्स, आप सही थे! –

उत्तर

1

यह मेरे प्रश्नों का जवाब है, लेकिन कैसे अन्य फ़ाइलों को आयात करने के लिए यदि आप जानना चाहते हैं तो कृपया r उपयोगकर्ता @mido द्वारा दिए गए उत्तर के लिए efer या उदाहरण के लिए इस पृष्ठ को जांचें: http://www.2ality.com/2014/09/es6-modules-final.html

तो @ फ़ेलिक्स किंग से टिप्पणी ने मुझे सही उत्तर पर निर्देशित किया है। के रूप में फेलिक्स का सुझाव दिया, बाकी मॉड्यूल डिफ़ॉल्ट निर्यात समारोह नहीं है, तो यह उस तरह आयातित किया जाना चाहिए:

import * as rest from 'rest'; 

तो यह एक मॉड्यूल है, यह कैसे लिखा है से निर्भर करता है। उदाहरण के लिए "माइम" इंटरसेप्टर मॉड्यूल जो बाकी में शामिल है द्वारा शामिल किया जा सकता: से

import mime from 'rest/interceptor/mime'; 
1

मैं कोई विशेषज्ञ नहीं हूँ लेकिन import कई मायनों में require के समान है, लेकिन मुख्य अंतर हैं:

  • आप import का उपयोग कर चयनात्मक वस्तुओं का आयात कर सकते हैं (लगता है कि इस अजगर के करीब है), लेकिन साथ require, आप नामस्थान के रूप में केवल एक ही मॉड्यूल निर्यात करते हैं, बाकी सब कुछ उप-मॉड्यूल है।

  • पीछे नहीं है, require Node.js के के और अधिक thingy (हालांकि आप browserify का उपयोग कर ब्राउज़र में ला सकता है) है ,, लेकिन import अब ES6 के मूल निवासी सुविधा, यानी ब्राउज़रों कि ES6 का समर्थन है, import

    काम करेगा lukehoban के es6features से

उदाहरण मेरा पहला बिंदु को फिर से लागू करने के लिए:

// lib/math.js 
export function sum(x, y) { 
    return x + y; 
} 
export var pi = 3.141593; 

// app.js 
import * as math from "lib/math"; 
alert("2π = " + math.sum(math.pi, math.pi)); 

// otherApp.js 
import {sum, pi} from "lib/math"; 
alert("2π = " + sum(pi, pi)); 

//Some additional features include export default and export *: 

// lib/mathplusplus.js 
export * from "lib/math"; 
export var e = 2.71828182846; 
export default function(x) { 
    return Math.log(x); 
} 

// app.js 
import ln, {pi, e} from "lib/mathplusplus"; 
alert("2π = " + ln(e)*pi*2); 
+0

हाँ मुझे पता है कि यह इस तरह काम करता है, लेकिन मेरी समस्या यह है कि मैं lib/math.js (आपके उदाहरण में) में आयात का उपयोग करना चाहता हूं .. मैं अन्य फ़ाइलों में आयात का उपयोग कर रहा हूं, लेकिन अन्य फाइलों में मुझे मिल गया है कक्षाएं। यहां एक एकल फ़ंक्शन है जिसे निर्यात किया जाता है, और मैं उस एकल फ़ंक्शन में अन्य मॉड्यूल का उपयोग करना चाहता हूं। यह दुख की बात नहीं करता है। –

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