2016-10-09 3 views
-2

ブラウザ用のフロントエンドコードを開発する際には、同梱のトランスフォーマーのすべての利便性を考慮して、配信バンドルに移行するときによくes2017 presetを使用します。従来のモジュールの場合、私は通常、特定のモジュールがサポートするために指定した必要なノードエンジンが何であれ、それに固執します。ES6で従来のノードモジュールをバベルワークフローで作成する際のトレードオフは何ですか?

私もバベルの変圧器を使用して、これらの「従来型」のモジュールの開発を開始したいと思いますが、私は含めて、これまでの欠点を予見することができますで作業する場合

  • それは、より具体的に(デバッグのワークフローを阻害し得ますIDE)
  • モジュールの性能が

この問題に関する現在の状態が何苦しむかもしれない - あなたはそれが前述および他のトレードオフ与えられた従来のモジュールでバベルを使用するように理にかなっていると思いますか?あなたの好みのワークフローの賛否両論は何ですか?

ボーナスの質問:すでにこの手法を使用している評判の良いモジュールやモジュール作成者はいますか?私はFacebookが彼らの反応の生態系のためにそれをするのを見たが、それはそれらが主にブラウザのためのモジュールであるので意味があると思う。

+0

これは、使用する予定の機能に大きく依存します。 – Bergi

+0

オブジェクトスプレッドなどのような大部分構文的な砂糖と、async/awaitを使用するより読みやすいフロー制御。 – CookieMonster

+0

これらはパフォーマンスにはあまり影響しませんが(特にasync/awaitの場合)、変換は集中的なものになる可能性があるので、デバッグツールがそれを上回っているかどうか試してみる必要があります。 – Bergi

答えて

0

バニラJSに変換されます(その部分はバベルです)。 あなたが得意とするクラスを利用できるということです。

うまくいけば、ブラウザはES6をサポートし、私たちはバベルを必要としません。

唯一の欠点は、デバッグ時にソースマップを作成する必要がありますが、これは一時的なものです(上記を参照)。

あなたの2番目の質問に答えるには:ウェブサイトの1つでReactを使用していて、必要なモジュールの大半(npmから)がES6を使用しています。

0

あなたが言いたいのは、どちらも、バーベルをES7トランスバイザーとして使用するnodejsコードの開発には当てはまりません。個人的には、ノードを持つES7機能を非常に生産的に使用しています。

デバッグ用のソースマップのサポートがあります。私はテストのためにカルマを使用し、それは優れたソースマップのサポート(私はIntelliJを使用していますが、私はほとんどのIDEが行うと信じています)が付属しています。このREST-API githubのレポジトリをチェックアウトすることができます。これはnodejsデータバックエンドを構築するための素敵なスタックです。テストのためにカルマを使用します。コードカバレッジをサポートしています。スケーラビリティと可用性のためにpm2と統合されています。

パフォーマンスについて:翻訳されたコードは、高度な言語機能を使用できないときに開発者が書くコードよりも多くのシナリオで高速に実行されていると考えられます。私は後でいくつかのリンクを掲載する予定です。

関連する問題