我正在使用webpack,并分别根据whatwg-fetch和es6-promise软件包跟踪示例到polyfill fetch和旧版浏览器的Promise.
new webpack.ProvidePlugin({ 'fetch': 'imports?this=>global!exports?global.fetch!whatwg-fetch', 'Promise': 'exports?global.Promise!es6-promise' }),
这一切都有意义,但现在我需要polyfill Array.prototype.find(),但无法找到如何使用webpack的ProvidePlugin功能实现这一点.使find变得不同的是它本质上是一个Array原型的方法,我没有找到任何使用ProvidePlugin指定这些东西的例子.有没有人使用webpack来填充像这样的ES6阵列函数?有关如何实现这一目标的任何指示?我是否采用了错误/过时的方式或是否有更好的方法来实现我的需求?
到目前为止,我已经尝试使用paulmillr的polyfill 包来试验语法,但是使用ProvidePlugin并没有成功使用它.
对此进行更多研究使我得到了babel polyfill.而这些资源:
为什么在使用babel-loader时Object.assign()需要polyfill?
Babel polyfill?那是什么?
让Babel 6与IE8一起工作(通过.Gulp/Webpack)
我在这里也发现了babel-polyfill中缺少window.fetch polyfill,这解释了为什么它可能经常是由ProvidePlugin处理的特殊情况.我也在拼凑说,ProvidePlugin更像是一种便利工具而不是应用polyfill的通用工具.直接导入babel-polyfill并删除Promise和其他ES6 pollyfill除了fetch之外,在我的实验中到目前为止看起来有点大有希望.