## Polyfill 脚本

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

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

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

## 打包与代码共享

当使用如 [webpack](https://webpack.js.org/) 这样的 JavaScript 打包工具时，此处提到的脚本可以从打包文件中排除，并通过 WordPress 以脚本依赖的形式提供，参见 [`wp_enqueue_script`](https://developer.wordpress.org/reference/functions/wp_enqueue_script/#default-scripts-included-and-registered-by-wordpress)。

[`@wordpress/dependency-extraction-webpack-plugin`](https://github.com/WordPress/gutenberg/tree/HEAD/packages/dependency-extraction-webpack-plugin) 提供了一个 webpack 插件，用于帮助从打包文件中提取 WordPress 依赖项。`@wordpress/scripts` 的 [`build`](https://github.com/WordPress/gutenberg/tree/HEAD/packages/scripts#build) 脚本默认包含此插件。

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

## 第三方脚本

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

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

# 脚本

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

## WordPress 脚本

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

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