HTML5,ES6模板字符串填充
对于我们的应用程序,我们需要使用新功能template string
。HTML5,ES6模板字符串填充
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,我可以在配置js文件之前加入。
有3个主要的ES6 polyfill,可以给你模板字符串支持,但他们没有一个完全支持,你可以在kangax's ECMAScript support table看到。
Traceur - 这是谷歌的ECMAScript中填充工具,支持一些的ECMAScript 6和ECMAScript下一个功能,它有模板字符串4/5的支持,没有的toString转换。
Babel - 另一个ECMAScript polyfill,通常有更多支持,但也只有4/5支持模板字符串,也没有toString转换。
es6-shim - 我不确定它是否已经开发出来了,但它没有模板字符串。
但你可能要使用模板字符串,它只是一个语法糖字符串+添加变量和\拥有多线之前,要三思而后行。
问题是我不能使用这些工具,因为这个文件是从'puppet'的制作中生成。我们不可能在那里运行这些转译器。想要在浏览器端添加一些polyfill。该键包含一些'\ n'字符,需要保留这些字符。我想要一些polyfill,我可以在配置js文件之前加入。 – lokeshjain2008
我知道这是句法糖。但unix读取文件和“pupper”替换密钥的方式,需要一些方法来保留'\ n'字符。 “模板字符串”是解决方案。 – lokeshjain2008
Traceur和Babel是* transpilers *,不是polyfills。在客户端运行它们可能是可能的,但不推荐。 – Bergi
是什么让你“需要”模板字符串?你可以很容易地做到一切都没有他们,你知道... –
@MadaraUchiha同意,同样的结果可以实现与ES5:http://*.com/a/35695834/1092711 – Pavlo
@MadaraUchiha不得不backport很多考虑到模板的使用允许嵌入在字符串(Javascript,SQL等)中的动态模板化代码实际上是可读和可维护的,所以广泛使用模板字符串的代码是* not * fun。 – Michael