/ / Skrót do eksportowania importu - javascript, ecmascript-6

Skrót do eksportu importu - javascript, ecmascript-6

Chciałem to zrobić za pomocą BabelJS, jednak nie jestem pewien, czy Babel lub specyfikacje go obsługują.

Dany Outer.js:

export default function() { }

Poniższy przykład nie działa.

export Outer from "./Outer"

Dzięki modułom CommonJS można to łatwo napisać jako

exports.x = require("./x");

Odpowiedzi:

4 dla odpowiedzi № 1

Od teraz 3 kwietnia 2015 r, BabelJS zespół wydał v5.0 3 dni temu, który obejmuje wsparcie dla wspomnianego stenogramu, jak podano w ich post na blogu.

Dodatkowy eksport Lee Byrona z pierwszego etapupropozycja instrukcji uzupełnia symetrię między instrukcją importu i eksportu, umożliwiając łatwe eksportowanie przestrzeni nazw i wartości domyślnych z modułów zewnętrznych bez modyfikowania zasięgu lokalnego.

Eksportowanie domyślne

export foo from "bar";

równoważny:

import _foo from "bar";
export { _foo as foo };

Stara odpowiedź:

Ta notacja eksportowa

export v from "mod";

nie jest obsługiwany w ES6 (patrz obsługiwane przykłady w specyfikacji), ale może być obsługiwany w ES7 (patrz ta propozycja).

Osiągnąć dokładnie ten sam wynik, którego musisz użyć import Na razie:

import Outer from "./Outer";
export {Outer};

0 dla odpowiedzi nr 2

TypeScript 1.5 obsługuje również dodatkową składnię instrukcji eksportu z ES 2015:

export { default as Injector } from "./lib/Injector";

Który generuje następujący ES5:

var Injector_1 = require("./lib/Injector");
exports.Injector = Injector_1.default;