如何避免古登堡块中的重复依赖

时间:2020-09-14 作者:Guerrilla

WordPress Gutenberg块构建脚本使用wordpress/dependency-extraction-webpack-plugin 要在不重复WordPress依赖项的情况下构建块,那么其他依赖项呢?

如果我构建一个包含10个块的插件,并且它们都重复使用依赖项,WordPress构建脚本将在每个块包中嵌入依赖项。

有没有一个好的方法来处理这个问题,而不必自己重新创建网页包?

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

WordPress依赖项提取插件@wordpress/dependency-extraction-webpack-plugin 基本上,使您的ES6依赖项导入使用WordPress脚本,而不是反复将它们添加到捆绑包中。

这使得模块在WordPress中注册和排队(包括但不限于jquery, momentreactwp.* 模块)从构建中正确排除。

您可以添加要排除的其他依赖项(确保在WordPress中注册/排队)requestToHandle 回调。

例如,排除sayreact-sortable 内部版本中的组件注册为react-sortable WordPress(PHP)中的脚本,

module.exports = {
  plugins: [
    new DependencyExtractionWebpackPlugin( {
      requestToHandle: function ( module ) {
        if ( module === \'react-sortable\' ) {
          return \'react-sortable\'; // WordPress script handle
        }
      }
    } ),
  ]
}

相关推荐