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 № 1Od 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;