# 目录结构

以下片段说明了 Gutenberg 代码库的组织结构，省略了不相关或显而易见的项目，并附有进一步说明：

    │
    ├── LICENSE
    ├── README.md
    ├── SECURITY.md
    ├── CONTRIBUTING.md
    │
    ├── .editorconfig
    ├── .eslintignore
    ├── .eslintrc
    ├── .jshintignore
    ├── .eslintignore
    ├── .prettierrc.js
    ├── .stylelintignore
    ├── .stylelintrc.js
    ├── .markdownlintignore
    ├── .npmpackagejsonlintrc.json
    ├── phpcs.xml.dist
    │   用于配置代码库中各种代码检查工具（PHP、JS、样式等）的
    │   点文件和配置文件。
    │
    ├── .browserslistrc
    ├── babel.config.js
    ├── jsconfig.json
    ├── tsconfig.json
    ├── tsconfig.base.json
    ├── webpack.config.js
    │   转译和打包配置文件。
    │
    ├── .wp-env.json
    │   开发和测试环境配置文件。
    │   包含 WordPress 和 Gutenberg 插件。
    │
    ├── composer.lock
    ├── composer.json
    │   PHP 依赖管理文件。主要用于开发工具。
    │   生产代码不使用外部 PHP 依赖。
    │
    ├── package-lock.json
    ├── package.json
    │   JavaScript 依赖管理文件。同时用于开发工具和生产依赖。
    │   package.json 还用于定义日常开发中使用的常用任务和脚本。
    │
    ├── changelog.txt
    ├── readme.txt
    │   托管在 WordPress 插件仓库中的 Gutenberg 插件的
    │   说明文档和更新日志。
    │
    ├── gutenberg.php
    │   Gutenberg 插件的入口文件。
    │
    ├── post-content.php
    │   Gutenberg 插件中用于展示编辑器的演示文章内容。
    │
    ├── .github/*
    │   各类 GitHub 功能配置（问题与 PR 模板、CI、负责人）。
    │
    ├── bin/api-docs
    │   用于生成 API 文档的工具/脚本。
    │
    ├── bin/packages
    │   用于构建 WordPress 包的脚本集合。
    │
    ├── bin/plugin
    │   用于执行 Gutenberg 插件发布和 npm 发布的工具。
    │
    ├── docs/tool
    │   用于生成区块编辑器手册 Markdown 页面的工具。
    │
    ├── docs/*.md
    │   构成[区块编辑器手册](https://developer.wordpress.org/block-editor/)的
    │   文档页面集合。
    │
    ├── platform-docs
    │   面向非 WordPress 开发者的文档网站，
    │   这些开发者在自己的应用程序中使用 Gutenberg。
    │   部署于 [https://wordpress.org/gutenberg-framework/](https://wordpress.org/gutenberg-framework/)。
    │
    │
    ├── lib
    │   Gutenberg 插件的 PHP 源代码。
    │
    ├── lib/compact/wordpress-x.x
    │   已包含在 WordPress X.X 版本中的 PHP 代码。
    │   保留该目录以确保插件与旧版 WordPress 的兼容性。
    │
    ├── packages
    │   WordPress 包的源代码。
    │   包可分为：
    │    - 在 WordPress 和 Gutenberg 插件中加载的生产环境 JavaScript 脚本和样式，
    │      或作为 npm 包分发。
    │    - 可通过 npm 获取的开发工具。
    │
    ├── packages/{packageName}/package.json
    │   当前包的依赖项。
    │
    ├── packages/{packageName}/CHANGELOG.md
    ├── packages/{packageName}/README.md
    │
    ├── packages/{packageName}/src/**/*.js
    ├── packages/{packageName}/src/**/*.scss
    │   指定包的源代码。
    |
    ├── packages/{packageName}/src/**/*.test.js
    │   JavaScript 单元测试。
    |
    ├── packages/{packageName}/src/**/{ComponentName}/index.js
    │   指定组件的入口文件。
    |
    ├── packages/{packageName}/src/**/{ComponentName}/style.scss
    │   指定组件的样式入口文件。
    │
    ├── packages/{packageName}/src/**/{ComponentName}/stories/*.js
    │   用于加载到 Gutenberg Storybook 的组件故事。
    │
    ├── phpunit
    │   Gutenberg 插件 PHP 代码的单元测试。
    │
    ├── storybook
    │   [Gutenberg Storybook](https://wordpress.github.io/gutenberg/) 的配置。
    │
    ├── test/integration
    │   WordPress 包集成测试集合。
    │
    ├── test/native
    │   Gutenberg Mobile 单元测试配置。
    │
    ├── test/unit
    │   包单元测试配置。
    │
    ├── test/e2e
    │   Gutenberg 插件的端到端测试。
    │
    ├── test/performance
    │   性能指标测试。结果跟踪于
    │   [Gutenberg 性能看板](https://codevitals.run/project/gutenberg)。
    │
    ├── tools/eslint
    │   ESLint 检查工具的配置文件。
    │
    ├── tools/webpack
    │   webpack 构建的配置文件。