75 lines
14 KiB
Markdown
75 lines
14 KiB
Markdown
|
|
## 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 | 用于在可重用区块列表页面添加导入/导出链接的包 |
|