2017-09-02 5 views
0

私はPolymer 2アプリケーションを作成しています。デフォルトでは、ES6からES5への移行が行われ、ES6構文を使用して動作することが確実になります。ポリマー2をトランスペアリングしているかどうかは分かりませんか?

この問題は、誰もが(サポートしているブラウザを含む)がトランスコードされたコードを受け取るということです。

つの質問:

  • は、それがレガシーブラウザに「ノー」と言うと、ちょうどtranspilingを停止するにはあまりにも狂いましたか?

  • 特定のブラウザをアプリの非トランジションバージョンにリダイレクトする簡単な方法はありますか?

答えて

0

単純な答えは、私が話していたものと全く同じL使用prpl-server-nodeです。 は、具体的に:


差動サービング

最近のブラウザは、パフォーマンスを向上させる優れた機能を提供していますが、ほとんどのアプリケーションは、あまりにも古いブラウザをサポートする必要があります。 prpl-serverは、ユーザーエージェントヘッダーを使用してブラウザの機能を検出することによって、さまざまなバージョンのアプリケーションをさまざまなブラウザに提供できます。

prpl-サーバはビルドの概念、ブラウザ機能の特定のセットのために最適化されたアプリケーションのバリエーションを理解して構築します。

0

本当に作成するアプリの視聴者によって異なります。自分のプロジェクトについては、GoogleアナリティクスでSafari 8,9、さらにはIE 11経由でアクセスしている人がまだいることがわかります。理由はいくつかあるため、別のブラウザを使用するように指示することはできません...ほとんどの財務的理由(個人または法人のいずれか)

それゆえ、私は今でも、スクリプトタイプ= "module"を待っている間にWebpackを使用しているので、ES5に戻すのはまだデフォルトです安定化する)。

最も簡単な方法として、Polymer-CLIのserve関数を使用すると、ブラウザーの機能に応じてコードを自動トランスポートします。

また、ES6メソッドをチェックしようとするシンプルなjavascriptコードがあれば、バンドルコードのES6バージョンをロードします。そうでなければ、バンドルコードのES5バージョンをロードします+カスタム要素es5アダプタ。しかし、これはすぐにロードするのではなく、必要なファイルをロードする前に確認する初期JSスクリプトを解析するのが待ち受けているためにパフォーマンスが低下します(これはまだテストしていません)

またはサーバーをチェックインできますどのタイプのブラウザが呼び出されているのか、どのバージョンコードを送信したいのかをヒューリスティックに推測します。

トランスコードされたコードのオーバーヘッドのパフォーマンスに関しては、Polymer.Elementだけを使用している場合は、少なくとも12KBのコードを取得することができますので、30+ KBはPRPL +を持つのに十分以上のコンテンツを表示するために残しました。5

関連する問題