HTML5,ES6模板字符串polyfill

时间:2016-02-29 08:16:51

标签: javascript html5 es6-shim

对于我们的应用程序,我们需要使用新功能template string

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

但旧浏览器(如Android默认浏览器)不支持模板字符串。

如何为此功能获取polyfill? 试过babel。我们让这个polyfill适用于所有功能,但template string。 目前正在使用modernizr来检测支持并显示警报以使用其他浏览器。 这种方法对用户来说很烦人。如何在非支持浏览器上使用polyfill来实现这一功能?

是什么让我们成为template strings。 问题是我无法使用这些工具(trceurbabel),因为此文件是从puppet生成的。我们无法在那里运行这些转发器。想在浏览器端添加一些polyfill。密钥中包含一些\n个字符,需要保留它们。我想要一些polyfill,我可以在configs js文件之前包含。

1 个答案:

答案 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 - 我不确定它是否已经开发了,但它无论如何都没有模板字符串。

但是你可能想在使用模板字符串之前三思而后行,它只是字符串的语法糖,+用于添加变量,\用于多行。