![](/img/trans.png)
[英]Building monorepo babel-transpiled node JS application with dependencies
[英]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.