Что такое "экспорт по умолчанию" в javascript?
File: SafeString.js
// 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; };используется для импорта этой функции в другой файл скрипта
сказать приложение.js вы можете
import SafeString from './handlebars/safe-string';немного об экспорте
как следует из названия, он используется для экспорта функций, объектов, классов или выражений из файлов сценариев или модули
дополнительные.js
export function cube(x) { return x * x * x; } export const foo = Math.PI + Math.SQRT2;это можно импортировать и использовать как
приложение.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; };и используется в качестве приложение.js
import Cube from 'cube'; console.log(Cube(3)); // 27
export default function(){}может использоваться, когда функция не имеет имени. В файле может быть только один экспорт по умолчанию. Альтернативой является именованный экспорт.этой страница описание
export defaultподробно, а также другие подробности о модулях, которые я нашел очень полезными.
Comments