react multiple how functions example es6 javascript ecmascript-6

multiple - ¿Diferencia entre ''exportar'' y ''exportar por defecto'' en JavaScript?



javascript export class example (2)

Esta pregunta ya tiene una respuesta aquí:

¿Cuál es exactamente la diferencia entre los dos? He visto a gente usar:

function foo () { ... } export default foo;

Y he visto:

function bar () { ... } export bar;

Además, ¿por qué usarías el uno sobre el otro?


Es más fácil simplemente observar a qué se combinan los tres estilos diferentes de importación / exportación de ES6 en CommonJS.

// 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'';

Compila aproximadamente a:

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

(La salida real del compilador puede diferir)


Si su necesidad es exportar múltiples objetos vaya con las exportaciones nombradas (sin palabra clave predeterminada).

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

de lo contrario, para una sola exportación, la exportación predeterminada funciona bien

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