我遇到模板字符串文字的问题。该代码在Chrome,Firefox,Edge上完美运行,但无法在Safari上执行。
这是我用来插入外部HTML模板的插值字符串扩展。
这是babel编译的代码无法正确执行
是否有任何可以在Safari浏览器上解决此错误的有效填充?或者一种重写此插值字符串扩展名以使用普通旧字符串文字的方法?
答案 0 :(得分: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('')}-->