È stato a mia conoscenza che l'uso di Babel consente di utilizzare ecma6 javascript in un ambiente ecma5 trasponendolo. Tuttavia, quando utilizzo 'import', l''importazione' viene trasferita in 'require'. 'require' non è ecma5 e richiede la libreria 'require.js'. Pertanto non è possibile utilizzare "import/export" senza dipendenze aggiuntive, è corretto?Babel traspone l''importazione' in 'richiesta', ma 'richiesta non è utilizzabile in ecma5
risposta
Sì, Babel è concepito per la traduzione di nuove funzionalità linguistiche compatibili con i moderni motori javascript. Babel non compilare la sintassi di importazione del modulo require.js. Piuttosto utilizza la sintassi del modulo CommonJS utilizzata da Node.js. Quindi è possibile eseguire il codice direttamente senza ulteriori dipendenze di compilazione in Node.js.
Poiché funziona su singoli file alla volta ed è una traduzione diretta, non prende alcuna decisione su come si desidera includere il codice sorgente di quegli altri file in quello corrente.
Detto questo, se avete intenzione di usarlo in del browser, avrete bisogno di un sistema di compilazione o di bundler che supporta CommonJS moduli dichiarazioni:
- Vedi https://babeljs.io/docs/setup/#installation per un elenco di molte configurazioni tipiche di build
- Browserify e Webpack sono due dei più popolari nell'ecosistema Javacript
- Questi sistemi "raggruppano" il codice javascript iniettando i file dove viene fatto riferimento a "require" e quindi producono un file js di output che è possibile eseguire in ecma5
Provare a sostituire richiede in codice transpili da un metodo corrispondente. Es: Per me, sostituire require ('react') da window.react funzionerà