对于我们的应用程序,我们需要使用新功能template string
。
var verLongKey= `834r845784576485
y84ery5845y485yu843
483y53485684576845
jhu87843647356756745==457485,mh
ererthe8t0998785==ery8`;
但旧浏览器(如Android默认浏览器)不支持模板字符串。
如何为此功能获取polyfill?
试过babel
。我们让这个polyfill适用于所有功能,但template string
。
目前正在使用modernizr
来检测支持并显示警报以使用其他浏览器。
这种方法对用户来说很烦人。如何在非支持浏览器上使用polyfill来实现这一功能?
是什么让我们成为template strings
。
问题是我无法使用这些工具(trceur
,babel
),因为此文件是从puppet
生成的。我们无法在那里运行这些转发器。想在浏览器端添加一些polyfill。密钥中包含一些\n
个字符,需要保留它们。我想要一些polyfill,我可以在configs js文件之前包含。
答案 0 :(得分:8)
有3个主要的ES6 polyfill可以为您提供模板字符串支持,但没有一个可以完全支持,您可以在kangax's ECMAScript support table看到。
Traceur - 这是Google的ECMAScript polyfill,支持一些ECMAScript 6和ECMAScript的下一个功能,它有4/5支持模板字符串,没有toString转换。
Babel - 另一种ECMAScript polyfill,一般都有更多的支持,但也只有4/5支持模板字符串,也没有toString转换。
es6-shim - 我不确定它是否已经开发了,但它无论如何都没有模板字符串。
但是你可能想在使用模板字符串之前三思而后行,它只是字符串的语法糖,+用于添加变量,\用于多行。