web-dev-qa-db-ja.com

HTML5、ES6テンプレート文字列ポリフィル

このアプリケーションでは、新機能 template string を使用する必要があります。

var verLongKey= `834r845784576485
y84ery5845y485yu843
483y53485684576845
jhu87843647356756745==457485,mh
ererthe8t0998785==ery8`;

しかし、古いブラウザ(Androidデフォルトのブラウザなど)はテンプレート文字列をサポートしていません。

この機能のポリフィルを取得するにはどうすればよいですか?試しました babel 。このポリフィルは、template string以外のすべての機能で機能します。現在 modernizr を使用してサポートを検出し、他のブラウザを使用するように警告を表示しています。このアプローチはユーザーにとって煩わしいものです。サポートされていないブラウザでこれを機能させるために、どのようにポリフィルを入手できますか?

私たちをこれにしたのはtemplate stringsです。問題は、このファイルがtrceurからプロダクションで生成されるため、これらのツール(babelpuppet)を使用できないことです。これらのトランスパイラーをそこで実行する方法はありません。ブラウザ側にポリフィルを追加したい。キーにはいくつかの\n文字が含まれているため、それらを保持する必要があります。ポリフィルが欲しいので、configs jsファイルの前に含めることができます。

12
lokeshjain2008

テンプレート文字列のサポートを提供できる3つの主要なES6ポリフィルがありますが、 kangaxのECMAScriptサポートテーブル で確認できるように、完全なサポートはありません。

  • Traceur-これは、一部のECMAScript 6およびECMAScriptの次の機能をサポートするGoogleのECMAScriptポリフィルです。テンプレート文字列が4/5でサポートされ、toString変換はありません。

  • Babel-別のECMAScriptポリフィル。一般的にはより多くのサポートがありますが、テンプレート文字列のサポートは4/5のみで、toString変換もありません。

  • es6-shim-それがもう開発されたかどうかはわかりませんが、とにかくテンプレート文字列がありません。

しかし、テンプレート文字列を使用する前に2度考えた方がいいかもしれません。これは、+を使用して変数を追加し、\を使用して複数行を追加する文字列の構文糖衣です。

9