如果我有一个基于包的带有NX的monorepo,哪个目录是projectRoot
,哪个是workspaceRoot
?
来自文件(https://nx.dev/reference/project-configuration):
{项目根目录}和{工作空间根目录}
{projectRoot}是由当前项目根目录的路径替换的关键字。{workspaceRoot}是由工作区根目录的路径替换的关键字。
这是一个非常明显的解释,我想知道哪个是哪个,因为我有这样的目录结构:
(git repo root dir)
|
+- nx.json
+- package.json - it says `"workspaces": [ "packages/*" ]`
|
+- packages/
|
+- package1/
+- package2/
因为package.json
将我的packages/*
称为“工作区”,所以我猜测每个包都是一个工作区,因此workspaceRoot
必须单独引用每个包,而projectRoot
必须引用nx.json
配置的顶层目录,但我完全不知道如何确认这一点。(设置各种inputs
作为看到它是命中或错过),和绝对没有任何工作。
为了澄清我的困惑:“workspace root”是指包含所有工作区(即包)的目录,还是指“某个工作区(即包)的根目录”(这里我假设“workspace”==“package”,这可能不是真的)。
1条答案
按热度按时间wqsoz72f1#
基于对https://nx.dev/concepts/mental-model的阅读,我的定义如下:
packages/
中的每个子目录packages/package1
和packages/package2
nx.json
所在的根目录简而言之: