# 区块开发环境

本指南将帮助您搭建合适的开发环境，用于创建扩展和修改WordPress区块编辑器的区块及其他插件。

区块开发环境包含在计算机上成功进行区块编辑器开发所需的工具。以下三项是基本要求：

- [区块开发环境](#区块开发环境)
  - [代码编辑器](#代码编辑器)
  - [Node.js开发工具](#nodejs开发工具)
  - [本地WordPress环境](#本地wordpress环境)

<div class="callout callout-info">
    若想为Gutenberg项目本身做贡献，请参阅<a href="https://developer.wordpress.org/block-editor/contributors/code/getting-started-with-code-contribution">代码贡献指南</a>中的补充文档。
</div>

## 代码编辑器

代码编辑器用于编写代码。您可以使用任何熟悉的编辑器，关键是要具备打开、编辑和保存文本文件的功能。

如果您还没有偏好的代码编辑器，[Visual Studio Code](https://code.visualstudio.com/)（VS Code）是核心贡献者中进行JavaScript开发的流行选择。它完美兼容三大主流平台（Windows、Linux和Mac），是微软积极维护的开源软件。VS Code还拥有活跃的社区提供插件和扩展支持，其中包含许多适用于WordPress开发的工具。

## Node.js开发工具

Node.js（`node`）是一个开源运行时环境，允许您在网络浏览器之外执行JavaScript。虽然并非所有WordPress JavaScript开发都需要Node.js，但在使用现代JavaScript工具和进行区块编辑器开发时它必不可少。

Node.js及其配套开发工具使您能够：

-   安装并运行区块编辑器开发所需的WordPress包，例如`wp-scripts`
-   使用`wp-env`和`@wp-playground/cli`搭建本地WordPress环境
-   使用最新ECMAScript特性并以ESNext规范编写代码
-   对JavaScript代码进行格式检查、格式化与测试
-   使用`create-block`包快速创建自定义区块

其功能远不止于此。虽然现代JavaScript开发可能具有挑战性，但WordPress提供了[`wp-scripts`](/docs/getting-started/devenv/get-started-with-wp-scripts.md)和[`create-block`](/docs/getting-started/devenv/get-started-with-create-block.md)等工具来简化流程，这些都得益于Node.js开发工具的支持。

**区块开发推荐使用Node.js的[Active LTS](https://nodejs.org/en/about/previous-releases)（长期支持）版本**。但有时您可能需要使用不同版本。强烈推荐使用`nvm`等Node.js版本管理工具，它允许您在需要时切换`node`版本。您还需要Node包管理器（`npm`）和Node包执行工具（`npx`）来处理某些WordPress包，这两者会随Node.js自动安装。

为了使用Node.js工具和[WordPress提供的开发包](https://github.com/WordPress/gutenberg/tree/trunk/packages)进行区块开发，您需要在计算机上配置合适的Node.js运行时环境。具体设置方法请参考以下链接：

-   [在Mac和Linux上安装Node.js](/docs/getting-started/devenv/nodejs-development-environment.md#node-js-installation-on-mac-and-linux-with-nvm)
-   [在Windows上安装Node.js](/docs/getting-started/devenv/nodejs-development-environment.md#node-js-installation-on-windows-and-others)

## 本地WordPress环境

本地WordPress环境（站点）为开发提供了受控、高效且安全的空间，让您可以在部署到生产站点之前构建和测试代码。WordPress的相同[运行要求](https://en-gb.wordpress.org/about/requirements/)也适用于本地站点。

在更广泛的WordPress社区中，有许多工具可用于在计算机上搭建本地WordPress环境。本《区块编辑器手册》重点介绍由WordPress项目自身维护的开源工具`wp-env`，它也是Gutenberg开发的推荐工具。

具体设置说明请参阅[`wp-env`入门指南](/docs/getting-started/devenv/get-started-with-wp-env.md)。

<div class="callout callout-info">
    在本手册中，您可能还会看到对<code><a href="https://github.com/WordPress/wordpress-playground/tree/trunk/packages/playground/cli">@wp-playground/cli</a></code>的引用。这是一个由<a href="https://developer.wordpress.org/playground/">WordPress Playground</a>驱动的轻量级工具，可简化本地WordPress环境的搭建。虽然仍处于实验阶段，但该工具非常适合快速测试WordPress版本、插件和主题。
</div>

以下列举了部分备选方案（若您不想使用`wp-env`）：

- [WordPress Studio](https://developer.wordpress.com/studio/)
- [Local](https://localwp.com/)
- [XAMPP](https://www.apachefriends.org/)
- [MAMP](https://www.mamp.info/en/mamp/mac/)
- [Varying Vagrant Vagrants](https://varyingvagrantvagrants.org/)（VVV）