WordPress插件是否应该填充全球JS环境?

时间:2017-02-25 作者:mAAdhaTTah

我正在用babel/WebPack构建一个JS重型WordPress插件,以传输ES6->ES5代码。我还依赖一些新功能,比如PromiseObject.assign, 我想知道一些事情:

WordPress是否为全球环境提供自己的多边形填充

2 个回复
最合适的回答,由SO网友:Rarst 整理而成

WordPress是否为全球环境提供自己的多边形填充?

不,据我所知,WP core不附带任何聚填料。

WordPress插件中处理/装运polyfills的最佳实践是什么?

公共WP扩展中JS的典型做法是:

坚持核心-提供的脚本/环境;

通过使用noConflict模式或其他方式,隔离代码和依赖项,使其不会影响全局状态。

如果你必须在公共领域处理全球国家问题,那就要做好准备,让它以最奇特的方式在野外爆发。

SO网友:J Griffiths

Update: 自从around September 2018, WordPress core是否附带polyfill,wp-polyfill, 似乎是babel-polyfill\'的浏览器库,我想这取决于古腾堡编辑器中的所有反应。您可以在此处找到:

wp-includes/js/dist/vendor/wp-polyfill.js
您可以添加wp-polyfill 在将自己的脚本排入队列时作为依赖项,例如,如果需要jQuery和polyfills:

wp_enqueue_script(
    \'main_custom_script\', 
    get_template_directory_uri() . \'/dist/scripts.min.js\', 
    array(\'jquery\', \'wp-polyfill\'), 
    \'1.0\', 
    true
);
很遗憾,添加此多边形填充的多个副本ends in tears, 因此,明智的做法是不要将此polyfill的其他副本包含在您开发的任何插件中,并坚持使用此核心脚本。

另一个需要考虑的聚填充备选方案是https://polyfill.io/v3/, 您可以选择所需的多边形填充。