2017-05-25 37 views
1

我遇到了模板字符串文字的問題。該代碼在Chrome,Firefox,Edge上完美運行,但無法在Safari上執行。在iOS上使用模板字符串的SyntaxError safari

enter image description here

這是我的插值字符串擴展我用插值外部HTML模板。

enter image description here

這是巴貝爾編譯代碼,無法正確

enter image description here

執行是否有可能解決的Safari瀏覽器的這個錯誤的任何工作填充工具?或者一種重寫這種內插字符串擴展以使用普通的舊字符串字面值的方法?

回答

1

解決了它。

顯然是胖箭頭功能song => {...}在使用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('')}-->