簡體   English   中英

使用 lerna 為 react 和 node js web 應用程序實現 monorepo

[英]implementing monorepo for react and node js web application using lerna

我正在嘗試構建一個 monorepo ,它由一個 react 和 node js 應用程序組成,因此前端文件夾是使用 react 應用程序創建的,而 backEnd 文件夾由所有服務器代碼組成。

我已經完成了以下步驟

全球安裝lerna

創建了一個新文件夾並初始化了存儲庫。

在新文件夾中運行 lerna init,它創建了 2 個文件 lerna.json、package.json 和 1 個文件夾作為包。

在包文件夾中,我運行 create-react-app frontEnd,它創建了一個新的 React 應用程序

運行命令 mkdir backEnd,在包文件夾中創建 backEnd 文件夾

現在我的包文件夾由兩個文件夾前端和后端組成。

前端由 create-react-app 附帶的 package.json 組成

問題

我是否需要從前端文件夾中刪除 package.json

我如何在根文件夾中配置 lerna.json 和 package.json。

我如何運行應用程序?

我已經搜索過,但我沒有得到使用 create-react-app 使用 lerna 制作 react-nodejs 應用程序的解決方案

我在這里完成這項任務

我是否需要從前端文件夾中刪除 package.json

不, /packages文件夾中的每個項目都可能有其依賴項。 安裝在根package.json中的模塊安裝在所有子項目中。 當您運行lerna bootstrap ,它將在每個項目上運行npm install

我如何在根文件夾中配置 lerna.json 和 package.json。

lerna.json非常簡單,包含收集 lerna 應該管理的所有項目的配置。

package.json用於跟蹤所有項目之間的共享包。 例如,您可能有一些constant-module ,它們在兩個項目上必須是相同的版本。 在簡單的前端/后端中,沒有任何共享模塊是現實的。

我如何運行應用程序?

當您運行lerna run start ,lerna 將對所有跟蹤的項目執行npm run start 所以你必須知道如何啟動你的整個應用程序。

在我的示例中,我僅在后端項目中實現了start ,因為它將靜態地提供前端文件,而且我不想僅為前端啟動另一個網絡服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM