包依赖项中的 file:workspaces 是什么意思?

zlo*_*ctb 9 javascript npm node-modules reactjs

我尝试使用 npm 7 工作区

"workspaces": {
    "packages": [
      "packages/apps/*",
      "packages/components",
    ],
Run Code Online (Sandbox Code Playgroud)

安装后我在 package.json 中看到

  "dependencies": {
    "@project/components": "file:workspaces/components",
Run Code Online (Sandbox Code Playgroud)

这是对的吗 ?什么是平均文件:?

Asi*_*ora 1

工作区是一个通用术语,指的是 npm CLI 中的一组功能,它支持在单个顶级根包中管理本地文件系统中的多个包。

更多细节

定义工作空间

工作空间通常通过 package.json 文件的工作空间属性定义,例如:

{
  "name": "my-workspaces-powered-project",
  "workspaces": [
    "workspace-a"
  ]
}
Run Code Online (Sandbox Code Playgroud)

鉴于上面的package.json示例位于当前工作目录中.,其中包含一个名为的文件夹,workspace-apackage.json文件夹本身包含一个定义 Node.js 包的文件夹,例如:

.
+-- package.json
`-- workspace-a
   `-- package.json
Run Code Online (Sandbox Code Playgroud)