首先我们看看这个单词的意思
好像也没有解释啥,但是给人的感觉是一种用来补充,优化的东西。
没错在js中也正有这个意思
js中的polyfill用来表示,根据新特性的定义,创建一段与之行为等价,但是能够在旧的js环境中运行的代码。
简言之,polyfill 是用旧语法重写新版本新增的方法(api),以兼容旧版浏览器。
所以,在之前我们还需要考虑兼容 ie的时候,用es6语法写代码时,会经常用到这个。
polyfill是一个js脚本,我们可以只针对一个方法引入,比如promise引入相应的polyfill,也可以引入一整个文件,一般来说我们会使用现成的npm包,有很多包供我们选择
比如只引入promise的polyfill,可以使用 promise-polyfill
npm i promise-polyfill
常用的还有
npm i babel-polyfill
还有一个babel,是我们常见的做低版本兼容的工具包,babel和polyfill的区别在于
更多关于babel的知识,可以看这篇文章