2016-07-03 1 views
6

Babelを使用すると、transpilationによってecma5 javascriptをecma5環境で使用できるようになりました。しかし、私が「輸入」を使用すると、「輸入」が「必要」に移行します。 'require'はecma5ではなく、ライブラリ 'require.js'が必要です。したがって、追加の依存関係なしに 'インポート/エクスポート'を使用することはできませんが、これは正しいですか?Babelは 'require'に 'import'を必要としますが、ecma5では使用できません

答えて

6

はい、Babelは、最新のjavascriptエンジンと互換性があるように新しい言語機能を翻訳するためのものです。 Babelはrequire.jsモジュールのインポート構文をコンパイルしません。むしろ、Node.jsで使用されるようなCommonJSモジュール構文を使用します。したがって、Node.jsのビルド依存関係を追加せずに直接コードを実行できます。

一度に1つのファイルで動作し、直接的な変換であるため、他のファイルのソースコードを現在のファイルにどのように含めるかは決まっていません。

  • 多くの典型的なビルド構成
  • のリストについては、https://babeljs.io/docs/setup/#installationを参照してください:あなたは、ブラウザでそれを使用しようとしているならば、あなたはCommonJSモジュール文をサポートしているビルドシステムやバンドラが必要になります、と述べ

    BrowserifyとWebpackはJavacriptエコシステムの中で最も人気のあるものの2つです

  • これらのシステムは、 'require'が参照されるファイルを注入することでJavaScriptコードをバンドルし、通常はecma5で実行できる1つの出力jsファイルを生成します。
0

交換コードで必要なものを交換する方法をお試しください。例:私にとって、window.reactでrequire( 'react')を置き換えると、

関連する問題