Что такое "экспорт по умолчанию" в javascript?
// Build out our basic SafeString type
function SafeString(string) {
this.string = string;
}
SafeString.prototype.toString = function() {
return "" + this.string;
};
export default SafeString;
Я никогда не видел export default
раньше. Есть ли эквивалентные вещи для export default
что может быть проще для понимания?
3 ответов
это часть модульной системы ES6,описано здесь. В этой документации также есть полезный пример:
Если модуль определяет экспорт по умолчанию:
export default function() { console.log("hello!") }
затем вы можете импортировать этот экспорт по умолчанию, опустив фигурные скобки:
import foo from "foo"; foo(); // hello!
обновление: по состоянию на 2 февраля 2015 года, модульная система определена в §15.2 и export
синтаксис в частности определено в §15.2.3 проекта спецификации ES6. Конечно, поскольку это все еще проект, это может измениться в будущем.
export default
используется для экспорта одного класса, функции или примитивные из файла сценария.
экспорт также может быть записан как
export default function SafeString(string) {
this.string = string;
}
SafeString.prototype.toString = function() {
return "" + this.string;
};
используется для импорта этой функции в другой файл скрипта
сказать app.js вы можете
import SafeString from './handlebars/safe-string';
немного об экспорте
как говорится в названии, он используется для экспорта функций, объектов, классов или выражений из файлов сценариев или модули
дополнительные.js
export function cube(x) {
return x * x * x;
}
export const foo = Math.PI + Math.SQRT2;
это можно импортировать и использовать как
App.js
import { cube, foo } from 'Utilities';
console.log(cube(3)); // 27
console.log(foo); // 4.555806215962888
или
import * as utilities from 'Utilities';
console.log(utilities.cube(3)); // 27
console.log(utilities.foo); // 4.555806215962888
когда используется экспорт по умолчанию, это намного проще. Файлы скриптов экспортируют только одно. Куба.js
export default function cube(x) {
return x * x * x;
};
и используется в качестве App.js
import Cube from 'cube';
console.log(Cube(3)); // 27
export default function(){}
может использоваться, когда функция не имеет имени. В файле может быть только один экспорт по умолчанию. Альтернативой является именованный экспорт.
этой страница описание export default
подробно, а также другие подробности о модулях, которые я нашел очень полезными.