¿Qué es "exportar por defecto" en javascript?
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 export default
antes. ¿Hay algo equivalente para export default
que pueda ser más fácil de entender?
3 answers
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 predeterminada:
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 del 2 de febrero de 2015, el sistema de módulos se define en §15.2 y la sintaxis export
en particular se define en §15.2.3 del proyecto de especificación ES6. Por supuesto, como todavía es un borrador, esto puede cambiar en el futuro.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-30 14:03:19
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
Decir en aplicación.js , usted puede
import SafeString from './handlebars/safe-string';
Un poco sobre la exportación
Como su nombre 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 se puede importar y utilizado 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 usa export default, esto es mucho más simple. Los archivos de script solo exportan una cosa. cubo.js
export default function cube(x) {
return x * x * x;
};
Y se utiliza como App.js
import Cube from 'cube';
console.log(Cube(3)); // 27
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-13 08:47:56
export default function(){}
se puede utilizar 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 página describe export default
en detalle, así como otros detalles sobre los módulos que encontré muy útiles.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-25 20:08:38