@automattic/jetpack-shared-extension-utils

中文文档
2.1.8发布于 2026/11/06GPL-2.0-or-laterCommonJS构建来源已验证近 30 天下载 2148

块编辑器扩展所使用的工具函数

中文使用文档
文档目录8 节
  1. 从仓库获取模块数据
  2. 基本用途
  3. 如何安装共享扩展功能
  4. 从 Git Repo 安装
  5. 贡献
  6. 获得帮助
  7. 警卫
  8. 许可证

共享扩展公用事业

块编辑器扩展使用的工具函数.

这个软件包是密码的新主机 页:1 extensions/shared 目录 ,使插件可以共享。 首先,我们行动 用于 Publicize 编辑器扩展名的代码,但目标是将 所有共享代码.

从仓库获取模块数据

软件包依赖 控件 财务报告和审定财务报表 解析器 从 API 中提取模块数据,并将其放入软件包的 Redux 商店.

基本用途

为了让所有模块相关数据在不同的软件包中同步,让我们利用这个Redux存储作为真理的来源,既获取数据又更新数据.

使用 withSelect, (中文(简体) ), withDispatch 调取数据的更高顺序组件或 useSelect 钩从商店取出数据直接取入组件. 示例

// Imports.
import { withSelect, withDispatch } from '@wordpress/data';
import { JETPACK_MODULES_STORE_ID } from '@automattic/jetpack-shared-extension-utils';

const SampleComponent = props => {
    const { isModuleActive, isLoadingModules, isChangingStatus, updateJetpackModuleStatus } = props;

    if ( isModuleActive ) {
        return <div>Module is active</div>;
    }

    if ( isLoadingModules ) {
        return <div>Loading modules...</div>;
    }
    
    if ( !isModuleActive ) {
        return <button onClick={ () => updateJetpackModuleStatus( 'contact-form', true ) }>
            Activate module
        </button>;
    }

    return <div>Active contact form module</div>;
}

// We wrap `SampleComponent` into the composition of `withSelect` and `withDispatch` HOCs,
// which will pull the data from the store and pass as a parameter into the component.
// Jetpack modules will be pulled after first selection `isModuleActive`.
export default compose( [
    withSelect( ( select, props ) => {
        const { isModuleActive, areModulesLoading, isModuleUpdating } = select( 'jetpack-modules' );
        return {
            isModuleActive: isModuleActive( 'contact-form' ),
            isLoadingModules: areModulesLoading(),
            isChangingStatus: isModuleUpdating( 'contact-form' ),
        };
    } ),
    withDispatch( dispatch => {
        const { updateJetpackModuleStatus } = dispatch( 'jetpack-modules' );
        return { updateJetpackModuleStatus };
    } ),
] )( ( SampleComponent ) );

如何安装共享扩展功能

从 Git Repo 安装

贡献

获得帮助

警卫

需要报告安全弱点吗? 转到 https://automattic.com/security/ (中文(中国大陆) ) 或者直接到我们的安全漏洞赏金网站 https://hackerone.com/自失常症。 。 。 .

许可证

共享扩展使用许可证 GNU 通用公共许可证 v2( 或以后)

版本与发布记录

@automattic/jetpack-shared-extension-utils 共发布 265 个版本,首次发布于 2022/02/10;过去 12 个月发布了 82 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.1.8latest2026/11/061 天前
2.1.72026/11/053 天前
2.1.62026/11/035 天前
2.1.52026/10/299 天前
2.1.42026/10/2612 天前
2.1.32026/10/2118 天前

关于 @automattic/jetpack-shared-extension-utils 的常见问题

@automattic/jetpack-shared-extension-utils 是什么?

块编辑器扩展所使用的工具函数

如何安装 @automattic/jetpack-shared-extension-utils?

在项目目录运行 npm install @automattic/jetpack-shared-extension-utils,或使用 pnpm add / yarn add / bun add。

@automattic/jetpack-shared-extension-utils 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/automattic__jetpack-shared-extension-utils 是否存在。

@automattic/jetpack-shared-extension-utils 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@automattic/jetpack-shared-extension-utils 可以商用吗?

@automattic/jetpack-shared-extension-utils 使用 GPL-2.0-or-later 许可。强 Copyleft:分发包含该代码的软件时,整个作品需以兼容的 GPL 许可开源。仅在内部使用、不对外分发时不触发此义务。以上为概括,不构成法律意见,请以许可原文为准。

@automattic/jetpack-shared-extension-utils 的下载量有多少?

根据 npm 官方下载统计,@automattic/jetpack-shared-extension-utils 在 2026/10/07 – 2026/11/05 这 30 天内被下载 2,148 次,日均约 72 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@automattic/jetpack-shared-extension-utils 还在维护吗?

最新版本 2.1.8 发布于 2026/11/06(1 天前);至今共发布 265 个版本,其中过去 12 个月发布了 82 个;首次发布于 2022/02/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。