Chcę móc asynchronicznie ładować zależności za pomocą System.import()
, ale bez konieczności transpozycji ES6 do ES5 podczas środowiska produkcyjnego. Chcę, aby moduły te były transponowane do oddzielnych modułów ES5, które są pobierane tylko wtedy, gdy są potrzebne. Nie chcę, żeby były częścią głównego pakietu.Użycie SystemJS/jspm do załadowania modułów async, es5 w produkcji
Dev Workflow
Moduły są skuteczne ładowanie podczas mojego kompilacji produkcyjnej, która jest rzeczywiście niepokojące, bo nie chcą zawierać żadnych zależności, które pozwalają na transpilation.
Mam przepływ pracy, w którym używam jspm bundle
i jspm unbundle
do przełączania się między konfiguracjami programistycznymi i produkcyjnymi. W moim środowisku programistycznym, jestem w tym następujące scenariusze:
<script src="jspm_packages/system.js"></script>
<script src="config.js"></script>
<script>
System.import('src/main');
</script>
Workflow Produkcja
w produkcji używam jspm bundle --inject
wstrzyknąć opcję bundles
do System.config
. To skutecznie ładuje tylko niezbędne pliki:
system.js
config.js
main.bundle.js
Kiedy próbuję załadować moduł asynchronicznie z System.import()
podczas produkcji, ładuje grzywny, co oznacza, że transpilation dzieje się w przeglądarce w trakcie produkcji.
Pytania
mogę łatwo zbudować każdy z moich modułów na AMD, ale jak mogę nadal asynchronicznie i osobno pobierać je za pomocą
System.import()
?Chcę również, aby upewnić się to tak mało napowietrznych przeglądarki jako możliwe, co nie oznacza w tym żadnych skryptów, które wykonują transpilation. Czy istnieje sposób, aby włączyć
system.js
, który nie ma możliwości transpozycji?