2017-05-25 6 views
1

テンプレート文字列リテラルに問題があります。このコードはChrome、Firefox、Edgeで完璧に動作しますが、Safariで実行できません。iOS Safariのテンプレート文字列リテラルを使用したSyntaxError

enter image description here

これは私が外部のHTMLテンプレートを補間するために使用私の補間文字列の拡張機能です。

enter image description here

そして、これは正しく

enter image description here

実行に失敗したバベルコンパイルされたコードであるSafariブラウザにこのエラーを解決する可能性のある作業ポリフィルはありますか?または、この補間文字列拡張を書き換えて、普通の古い文字列リテラルで動作させる方法はありますか?

答えて

1

解決済み

明らかに太い矢印の機能曲=> {...}は、html-loaderを使用してhtmlテンプレートからインポートしたときには透明化されませんでした。それは古き良きに変更されました関数(曲){return ...}スタイルの構文と動作します。醜いが働いている。 htmlテンプレートからes6を分泌する方法を見つけることを願っています。

<!--${songs.map(song => `--> 
${songs.map(function(song) { return ` 
<div data-menuanchor="${song.anchor}" class="node song"> 
    <div class="label">${song.number}</div> 
    <div class="timer"></div> 
    <div class="line"> 
     <div class="lineProgress"></div> 
     <div class="lineDefault"></div> 
    </div> 
    <a href="#${song.anchor}" class="link"> 
     <div class="linkDefault"></div> 
     <div class="linkHover"></div> 
     <div class="linkBass rythm-medium"></div> 
    </a> 
    <div class="actions"> 
     <div class="playBtn"><i class="icon bg-play"></i></div> 
     <div class="pauseBtn"><i class="icon bg-pause"></i></div> 
    </div> 
</div> 
`}).join('')} 
<!--`).join('')}--> 
関連する問題