2017-01-13 2 views
2

ES6のインポートに関するかなり基本的な質問。モジュールをエクスポートして別のJSファイルにインポートするのはなぜですか?これをやることにどんな利点がありますか?輸出入をせずにこれを達成するための他の方法(原油であっても)は何ですか?言い換えれば、もし私がES5に取り組むなら、私はこの輸出入をどのようにするのでしょうか?ES6のインポートステートメントのメリット

ありがとうございます!

答えて

3

なぜモジュールをエクスポートして別のJSファイルにインポートする必要がありますか?これをやることにどんな利点がありますか?

モジュール全体は、開発者がコードを再利用可能なモジュールまたは共有可能なモジュールに編成するための便利でクリーンでシンプルな方法を提供することです。したがって、モジュールを使用するポイントは、モジュール式にコードを開発することです。

モジュールができます。

  1. が容易にプロジェクト間で共有すること。
  2. 独立してテストしてください。
  3. 独自の名前空間とスコープを持ち、プライベート変数を持つことができます。
  4. コードの本体に対して明確かつ明確に定義されたインターフェイスを提供します。
  5. コードをロードするコードローディング機構で接続できます。

これらのすべては言語定義の構造なしでも実行できますが、人々がそれを行う可能性のある方法はたくさんあり、これらの利点のためにコードを構成する人はずっと少なくなります。

これらの利点は、NPMを介して利用可能な何千ものモジュールを使用したnode.js開発ではっきりと確認できます。誰もが購読している標準的なモジュールデザインがなければ、多くのことを分かち合うのは簡単ではありません。 ES6モジュールシステムは、このメカニズムを標準化する試みです。

私がES5で作業していた場合、このエクスポートとインポートはどうすればできますか?

(サードパーティー製のモジュールシステムを採用するか(AMDやCommonJSなどのES6の前日に多くあった)、自分でビルドしたり、いくつかの上記の利点。 node.jsモジュールシステムは、Javascript言語標準の外で設計されたシステムの1つです。これはnode.jsに組み込まれており、node.jsプロジェクトが複数のソースファイルをロードする主要なメカニズムであったため、node.js開発のデファクトスタンダードになりました。

または、Babelのようなトランスパイライザーを使用すると、ES6でコードを書き込めるようになり、ES5互換のコードに変換されます。あなたは、ビルドプロセスのような、別の言語のコンパイルのようなコンパイルの代わりに、ビルドのステップを追加します(あなたはコンパイルする代わりにトランスリンギングを行うことを除いて)。そして、あなたはES6でライティングとデバッグの利点を得ますが、 ES5ランタイムエンジン(旧式のブラウザなど)にはわずかな制限があります。

ここには、Why Modulesに関する有用な記事があります。

関連する問題