我有一個代碼庫,如下所示:
rootfolder
-- backend
-- frontend
-- .git
.git檔案夾因此整個版本控制位于根檔案夾中,每個子檔案夾(后端和前端)都有一個package.json和一個package.lock檔案
后端專案是一個 NestJs App
前端專案是一個 Angular 應用程式
為了提供我指定的客戶端檔案/后端應用程式的路由來提供靜態檔案,這些檔案是我前端的編譯版本
在 localhost 中,它就像一個魅力,當部署到 Heroku 時,事情就來了
我有 CI/CD 管道可以自動執行此任務,但它們失敗了,因為 Heroku 無法檢測到根檔案夾中的 package.json檔案
我只需要運行我的服務器(在后端檔案夾內)來啟動我的整個應用程式有沒有辦法將 Heroku 指向 package.json 檔案的位置?或者讓它進入正確的目錄?
問題源于使用 CI/CD 管道,如果我應該只推送帶有靜態客戶端檔案的服務器應用程式,我將推送整個根檔案夾 Idk ,如果可能的話,我不想擺脫 CI/CD 管道
uj5u.com熱心網友回復:
對于在那里徘徊的每個人來說,heroku 提供了一個腳本,您可以在其中運行邏輯,然后再構建程序
就我而言,我使用以下腳本在根檔案夾級別創建了一個package.json檔案
"scripts": {
"heroku-prebuild": "(cd ./backend && npm install && npm run build && cd ../frontend && npm install && npm run build:frontend)",
"start": "(cd ./backend && npm run start)",
}
使用heroku-prebuild命令我可以 cd 進入 mi后端保護檔案夾然后構建它,然后 cd 進入我的前端保護檔案夾,然后運行我的自定義build:frontend命令編譯我的前端應用程式,然后將它放在我的后端專案中的指定檔案夾中作為靜態服務我的后端檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/519354.html
標籤:有角度的heroku巢穴
