gutenbergdocs/contributors/code/scripts.md
2025-10-22 01:33:45 +08:00

14 KiB
Raw Blame History

Polyfill 脚本

编辑器还为某些可能并非所有现代浏览器都支持的功能提供了 polyfill。

建议使用主要的 wp-polyfill 脚本句柄,它会负责加载以下所有提到的 polyfill。

脚本名称 句柄 描述
Babel Polyfill wp-polyfill 模拟完整的 ES2015+ 环境。主脚本,用于加载以下所有附加的 polyfill
Fetch Polyfill wp-polyfill-fetch 实现标准 Fetch 规范子集的 polyfill
Promise Polyfill wp-polyfill-promise 适用于浏览器和 Node 的轻量级 ES6 Promise polyfill
Formdata Polyfill wp-polyfill-formdata 有条件地替换原生实现的 polyfill
Node Contains Polyfill wp-polyfill-node-contains 用于 Node.contains 的 polyfill
Element Closest Polyfill wp-polyfill-element-closest 返回 DOM 树中与选择器匹配的最接近的元素

打包与代码共享

当使用如 webpack 这样的 JavaScript 打包工具时,此处提到的脚本可以从打包文件中排除,并通过 WordPress 以脚本依赖的形式提供,参见 wp_enqueue_script

@wordpress/dependency-extraction-webpack-plugin 提供了一个 webpack 插件,用于帮助从打包文件中提取 WordPress 依赖项。@wordpress/scriptsbuild 脚本默认包含此插件。

| NUX | wp-nux | 包含用于引导新用户熟悉WordPress管理界面的组件及wp.data相关方法 | | Plugins | wp-plugins | WordPress插件管理模块 | | Redux Routine | wp-redux-routine | 用于生成器协程的Redux中间件 | | Rich Text | wp-rich-text | 实现HTML/DOM树与富文本值相互转换的辅助函数 | | Shortcode | wp-shortcode | WordPress短代码模块 | | Token List | wp-token-list | 可构造的纯JavaScript DOMTokenList实现,支持非浏览器运行时环境 | | URL | wp-url | 用于操作URL的实用工具集 | | Viewport | wp-viewport | 用于响应浏览器视口尺寸变化的模块 | | Wordcount | wp-wordcount | WordPress字数统计工具 |

第三方脚本

编辑器还使用了一些流行的第三方程序包和脚本。插件开发者同样可以直接使用这些脚本,无需将其打包到代码中(避免增加文件体积)。

脚本名称 注册句柄 功能描述
React react 用于构建用户界面的JavaScript库
React Dom react-dom 作为React的DOM和服务器渲染器入口点需与React配合使用
Moment moment 用于解析、验证、操作和显示JavaScript中的日期时间
Lodash lodash 提供通用编程任务工具函数的JavaScript库

脚本

编辑器为插件开发者提供了多个供应商和内部脚本。下表记录了脚本名称、句柄和描述。

WordPress 脚本

编辑器包含多个功能包以实现各种功能。插件开发者可以利用它们来创建区块、编辑器插件或通用插件。

脚本名称 句柄 描述
Blob wp-blob Blob 实用工具
区块库 wp-block-library 编辑器的区块库
区块 wp-blocks 区块创建
区块序列化默认解析器 wp-block-serialization-default-parser WordPress 文档的默认区块序列化解析器实现
区块序列化规范解析器 wp-block-serialization-spec-parser WordPress 文章的语法文件 (grammar.pegjs)
组件 wp-components 用于创建通用 UI 元素的通用组件
组合 wp-compose 一系列便捷的高阶组件 (HOCs)
核心数据 wp-core-data 简化和操作核心 WordPress 实体的访问
数据 wp-data 数据模块作为管理插件和 WordPress 本身应用状态的枢纽
日期 wp-date WordPress 的日期模块
弃用 wp-deprecated 用于记录消息以通知开发者某个功能已弃用的实用工具
DOM wp-dom WordPress 的 DOM 实用工具模块
DOM 就绪 wp-dom-ready DOM 加载完成后执行回调
编辑器 wp-editor WordPress 编辑器的构建块
编辑文章 wp-edit-post WordPress 的编辑文章模块
元素 wp-element 元素简单来说是基于 React 的抽象层
HTML 转义 wp-escape-html HTML 转义实用工具
钩子 wp-hooks 一个轻量高效的 JavaScript 事件管理器
HTML 实体 wp-html-entities WordPress 的 HTML 实体实用工具
国际化 wp-i18n 客户端本地化的国际化实用工具
浅比较 wp-is-shallow-equal 用于对两个对象或数组执行浅比较的函数
键码 wp-keycodes WordPress 的键码实用工具,用于检查 onKeyDown 等事件中按下的键
列出可重用区块 wp-list-reusable-blocks 用于在可重用区块列表页面添加导入/导出链接的包