14 KiB
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/scripts 的 build 脚本默认包含此插件。
| 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 | 用于在可重用区块列表页面添加导入/导出链接的包 |