將 monorepo 包放在包文件夾下是一種約定,還是 yarn 工作區期望這樣? (Is putting monorepo packages under a package folder a convention, or do yarn workspace expect that?)


問題描述

將 monorepo 包放在包文件夾下是一種約定,還是 yarn 工作區期望這樣? (Is putting monorepo packages under a package folder a convention, or do yarn workspace expect that?)

我的 monorepo 文件夾結構看起來像這樣,但是我沒有跨應用程序導入來為 yarn 工作區工作,也就是說,我無法從 shared 導入到 app1 或 app2.

./
  app1
  app2
  shared
  server
  package.json

我見過的幾乎所有其他工作區都包含一個 packages 文件夾,這是必需的還是只是約定?在這種情況下,我的文件夾結構如下所示:

./
  packages
    app1
    app2
    shared
    server
  package.json

我是否需要重構工作區才能正常工作?


參考解法

方法 1:

It's just a convention. You need to list your workspaces in package.json:

  "workspaces": [
    "app1",
    "app2",
    "shared",
    "server"
  ],

The convention let's you use a glob (and presumably streamlines some other npm/yarn commands that you want to run across all packages):

  "workspaces": ["packages/*"],

(by Gabriel Peterssoncharles‑allen)

參考文件

  1. Is putting monorepo packages under a package folder a convention, or do yarn workspace expect that? (CC BY‑SA 2.5/3.0/4.0)

#yarn-workspaces






相關問題

如何使用帶有打字稿和輸出文件夾的紗線工作區? (How to use yarn workspaces with typescript and out folders?)

如何在 Monorepo 中運行多個開發包 (How to run multiple packages in development inside a Monorepo)

帶有許多 npm 腳本的 Monorepo (Monorepo with Many npm-scripts)

使用紗線工作區導出枚舉時出現意外的令牌錯誤 (Unexpected token error exporting enums using yarn workspaces)

如何在 Expo 應用示例嵌套文件夾中熱重載開發包? (How to hot reload a development package in an Expo app example nested folder?)

將 monorepo 包放在包文件夾下是一種約定,還是 yarn 工作區期望這樣? (Is putting monorepo packages under a package folder a convention, or do yarn workspace expect that?)

通過創建具有循環依賴關係的 monorepo 導致錯誤 (Causing an error by creating a monorepo with circular dependencies)

Monorepo – Yarn 工作區 Typescript Node.JS 項目 – 運行 nodemon 時找不到模塊 (Monorepo – Yarn workspaces Typescript Node.JS project – cannot find module when running nodemon)

紗線工作區為每個運行 shell 命令 (Yarn workspaces run shell command for each)

紗線工作區共享包未在 create-react-app 中加載 (yarn workspaces shared package does not load in create-react-app)

如何使用 Yarn 工作區將共享依賴項添加到 monorepo? (How do I add shared dependencies to a monorepo using Yarn workspaces?)

使用紗線工作區在monorepo中跨項目共享配置變量? (Sharing config variables across projects in a monorepo using yarn workspaces?)







留言討論