support nodejs node green es7 es6 javascript node.js ecmascript-6

javascript - green - nodejs es7 support



¿Qué es "exportar por defecto" en javascript? (4)

Como se explica en esta página de MDN

Hay dos tipos diferentes de exportación, nombrados y predeterminados. Puede tener múltiples exportaciones nombradas por módulo, pero solo una exportación predeterminada [...] Exportaciones nombradas son útiles para exportar varios valores. Durante la importación, es obligatorio usar el mismo nombre del objeto correspondiente. Pero una exportación predeterminada se puede importar con cualquier nombre

Por ejemplo:

let myVar; export default myVar = 123; // in file my-module.js import myExportedVar from ''./my-module'' // we have the freedom to use ''import myExportedVar'' instead of ''import myVar'' because myVar was defined as default export console.log(myExportedVar); // will log 123

Archivo: SafeString.js

// Build out our basic SafeString type function SafeString(string) { this.string = string; } SafeString.prototype.toString = function() { return "" + this.string; }; export default SafeString;

Nunca he visto la export default antes. ¿Hay algún material equivalente para export default que pueda ser más fácil de entender?


Es parte del sistema de módulos ES6, descrito aquí . Hay un ejemplo útil en esa documentación, también:

Si un módulo define una exportación por defecto:

export default function() { console.log("hello!") }

luego puede importar esa exportación predeterminada omitiendo las llaves:

import foo from "foo"; foo(); // hello!

Actualización: a partir de junio de 2015, el sistema de módulos se define en §15.2 y la sintaxis de export en particular se define en §15.2.3 de la especificación ECMAScript 2015.


export default function(){} se puede usar cuando la función no tiene nombre. Solo puede haber una exportación predeterminada en un archivo. La alternativa es una exportación con nombre.

Esta page describe la export default en detalle, así como otros detalles sobre los módulos que me parecieron muy útiles.


export default se utiliza para exportar una sola clase, función o primitiva desde un archivo de script.

La exportación también se puede escribir como

export default function SafeString(string) { this.string = string; } SafeString.prototype.toString = function() { return "" + this.string; };

Esto se usa para importar esta función en otro archivo de script

Di en app.js , tu puedes

import SafeString from ''./handlebars/safe-string'';

Un poco sobre la exportación

Como su nombre lo indica, se utiliza para exportar funciones, objetos, clases o expresiones desde archivos de script o módulos

Utiliites.js

export function cube(x) { return x * x * x; } export const foo = Math.PI + Math.SQRT2;

Esto puede ser importado y usado como

App.js

import { cube, foo } from ''Utilities''; console.log(cube(3)); // 27 console.log(foo); // 4.555806215962888

O

import * as utilities from ''Utilities''; console.log(utilities.cube(3)); // 27 console.log(utilities.foo); // 4.555806215962888

Cuando se utiliza el valor predeterminado de exportación, esto es mucho más simple. Los archivos de script solo exportan una cosa. cube.js

export default function cube(x) { return x * x * x; };

y utilizado como App.js

import Cube from ''cube''; console.log(Cube(3)); // 27