跳转至主要内容

工作区 & 任务

React Strict DOM 仓库使用 npm workspaces 来管理来自单个顶级根软件包中的多个软件包。 了解如何为工作区运行任务。

根目录

monorepo 根目录配置了一组工具,用于检查所有软件包的各个方面,例如格式化、类型检查、单元测试、编译、代码检查等。

通常,所有命令都应从根目录运行。

工作区

目前有 2 个不同的工作区目录

  • apps
    • examples
    • website
  • packages
    • benchmarks
    • react-strict-dom
    • scripts

单个工作区的名称与该工作区的 package.jsonname 字段的值相匹配。

各个工作区可以拥有自己的工具,用于执行特定于软件包的任务,如构建、测试等。

任务

仓库中的每个任务都使用 npm 运行,并对应于 package.json 中命名的 scripts 字段。

monorepo 根目录定义的任务通常会在所有工作区中运行

npm run flow

特定于软件包的任务在各个工作区中具有相同的名称,并且可以通过定位特定工作区来运行。

npm run <task-name> -w <workspace-name>

例如,要构建 react-strict-dom 包并监视文件更改

npm run dev -w react-strict-dom

修改工作区

要修改工作区的依赖项,您可以直接编辑工作区的 package.json,然后运行 npm install。 或者,您可以在工作区上下文中运行命令,例如 npm install <package> -w <workspace>

可以将新任务添加到工作区的 package.jsonscripts 字段中。