To było moje zrozumienie, że użycie Babel pozwala ci używać ecma6 javascript w środowisku ecma5 przez transpozycję. Kiedy jednak używam "importu", "import" jest transponowany do "wymagać". "require" nie jest ecma5 i wymaga biblioteki "require.js". Dlatego nie można użyć "importu/eksportu" bez dodatkowych zależności, czy to prawda?Babel transpkuje 'import' na 'require', ale 'require nie jest użyteczny w ecma5
Odpowiedz
Tak, Babel jest przeznaczony wyłącznie do tłumaczenia nowych funkcji językowych, tak aby były zgodne z nowoczesnymi silnikami javascript. Babel nie kompiluje składni importu modułu require.js. Raczej używa składni modułu CommonJS używanego przez Node.js. Więc możesz uruchomić kod bezpośrednio, bez dalszego budowania zależności w Node.js.
Ponieważ działa pojedynczo na pojedynczych plikach i jest prostym tłumaczeniem, nie podejmuje żadnych decyzji dotyczących sposobu włączenia kodu źródłowego innych plików do bieżącego.
Powiedział, że jeśli masz zamiar używać go w przeglądarce, trzeba będzie system zbudować lub Bundler który obsługuje CommonJS moduły sprawozdań:
- Zobacz https://babeljs.io/docs/setup/#installation na liście wielu typowych konfiguracji kompilacji
- Browserify i Webpack to jedne z najpopularniejszych w ekosystemie Javacript.
- Te systemy "pakują" twój kod javascript przez wstrzykiwanie plików, gdziekolwiek jest "wymagany", a więc zazwyczaj tworzą jeden wyjściowy plik js, który można uruchomić w ecma5
Spróbuj wymienić wymaganie w transpilowanym kodzie metodą korespondującą. Przykład: dla mnie, wymień require ("reaguj") przez window.react zadziała
- 1. ReferenceError: require nie jest zdefiniowany
- 2. RequireJs - Define vs Require
- 3. Ember-cli require ("my_app/app") ["default"]. Create nie jest funkcją
- 4. Dojo require() i AMD (1.7)
- 5. PHP require() błąd względny ścieżka
- 6. Niepowodzenie ReferenceError: require nie jest zdefiniowany w angular2
- 7. Jaka jest różnica między define i require w RequireJS?
- 8. Mocha opisują "require() brakuje" w WebStorm 11
- 9. Zrozumienie różnicy między `load`,` require` oraz `require_relative`
- 10. Funkcja Inline require() działa w trybie requirejs, ale nie w przypadku zoptymalizowanej budowy migdałów.
- 11. RequireJS: Różnica między require() i define()
- 12. require nie może znaleźć pliku .rb o tym samym katalogu
- 13. Używanie require z casperjs zwraca "Nie można znaleźć modułu" erorr
- 14. Grunt require nie może utworzyć wielu modułów zgodnie z oczekiwaniami.
- 15. AMD/Dojo 1.7 Aplikacja na jedną stronę: gdzie umieścić Require()?
- 16. Czy istnieje jednoliniowy analog w ES6 dla ES5 `module.exports = require ('./ inner.js')`?
- 17. Korzystanie require() w zdalnie hostowane aplikacji węzła WebKit
- 18. użyj babel-jest dla żartu, ale nadal dostaję błąd składni
- 19. Rozwiązać "Uncaught ReferenceError: require is not defined" błąd w Node.js
- 20. Jak usunąć moduł po "require" w pliku node.js?
- 21. require-Bundle i importu-Package kontra feature.xml wymaga
- 22. Jak naprawić błąd "ReferenceError: Can not find variable: require" podczas testowania jednostki w Karma, Webpack, PhantomJS
- 23. Kiedy należy używać nawiasów w instrukcjach require/include?
- 24. Obsługa błędów zgłaszanych przez moduł require() w pliku node.js
- 25. Dlaczego require ('podkreślenie') zwraca undefined po wykonaniu w node.js REPL?
- 26. Jakie są zalety używania `require` w module zamiast u góry?
- 27. Czy można użyć: refer: all in a ClojureScript: require?
- 28. ES6 eksport moduł import z WebPack i babel-ładowarki
- 29. require() Moduł węzeł z procesu renderer Elektronowej podawane przez HTTP
- 30. Jak używać klauzuli require z argumentami funktora lambda?