2017-02-27 15 views
28

दोनों के बीच क्या अंतर है? मैंने देखा है लोगों का उपयोग करें:जावास्क्रिप्ट में 'निर्यात' और 'निर्यात डिफ़ॉल्ट' के बीच अंतर?

function foo() { 
    ... 
} 

export default foo; 

और मैंने देखा है:

function bar() { 
    ... 
} 

export bar; 

इसके अलावा, तुम क्यों एक दूसरे के ऊपर का प्रयोग करेंगे?

+3

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/:

// Three different export styles export foo; export default foo; export = foo; // The three matching import styles import {foo} from 'blah'; import foo from 'blah'; import * as foo from 'blah'; 

मोटे तौर पर करने के लिए संकलित विवरण/निर्यात – Ouroborus

उत्तर

11

यदि आपकी आवश्यकता कई वस्तुओं को निर्यात करने के लिए नामित निर्यात (डिफ़ॉल्ट कीवर्ड के बिना) के साथ जाती है।

function x1(){}; 
function x2(){}; 
export {x1},{x2}; //my-module.js 
import {x1},{x2} from 'my-module'; 

अन्यथा एक भी निर्यात के लिए, डिफ़ॉल्ट निर्यात में अच्छी तरह से

export default function x1() {}; 
import x1 from 'my-module'; 
+1

इसका 'डिफ़ॉल्ट' कीवर्ड – ieXcept

+0

@ieXcept से सहमत नहीं है। 'डिफ़ॉल्ट' कीवर्ड के पास एकाधिक निर्यात के साथ कुछ लेना देना नहीं है। इसका नाम अज्ञात निर्यात बनाम है। –

+0

डिफ़ॉल्ट तकनीकी रूप से अभी भी एक नामित निर्यात है। इसे 'डिफ़ॉल्ट' नाम के तहत निर्यात किया जाता है। – demisx

37

काम करता है यह सिर्फ क्या तीन अलग अलग ES6 आयात/निर्यात शैलियों CommonJS में करने के लिए नीचे संकलन को देखने के लिए सबसे आसान है।

exports.foo = foo; 
exports['default'] = foo; 
module.exports = foo; 

var foo = require('blah').foo; 
var foo = require('blah')['default']; 
var foo = require('blah'); 

(वास्तविक संकलक उत्पादन भिन्न हो सकती है)

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