背景:我公司的網絡應用程序實際上是幾個完全分離的應用程序,相互影響最小。這就是爲什麼把它們放在單個項目下沒有任何意義 - 所以我使用了單獨的項目。然而,自從我開始遷移和在ReactJS(使用的WebPack捆綁),我找到了重複使用很多機會編寫新的應用程序,以避免重複代碼,並避免其他應用程式,再下載公共資源已經獲取他們:您如何管理多個ReactJS項目?
- 我正在使用特定版本的第三方npm模塊 - 因此沒有理由一次又一次地捆綁它們 - 並且沒有理由多次將它們上傳到服務器(對於所有項目)。
- 如何跨項目共享package.json固定版本?
- 您是否將所有/組的npm模塊捆綁在一起或分別捆綁在一起?我希望從服務器獲取所有內部部署情況。
- 採取什麼措施確保您不會忘記重新捆綁節點模塊,以防您決定更新其中一個節點模塊?
- 類似的問題也適用於字體文件(保持在服務器上的字體和另一種字體的圖標)
- 常見的樣式表
- 常見的JS代碼 - 像utils的&共同
- 常見的web.config配置
- 常見圖片(目前其中一些內嵌在不同的包中)
- 和最後 - 常見組件 - 您如何分享它們?你是否使用單獨的項目併發布到npm?符號鏈接?
或者,也許,畢竟,我應該去一個monorepo?如何?
謝謝,你使用這種方法?你對開發模式做什麼?你有沒有考慮去monorepo?有更具體的項目結構和npm腳本實現這些目標的例子嗎? –
在工作中,我們專門爲React組件使用它;我們沒有各種各樣的項目來保證分享其他資產。對於像webpack配置,部署腳本等東西,如果有一些重複,我認爲這不是太糟糕,因爲通常存在細微的差異,而且這樣的東西往往不會有太大的改變。看起來像一個單一的回購將解決一些這些問題,但這不是我有任何經驗。 –