Chúng tôi có một mono-laravel-repo và đang trong quá trình chuyển sang một trình dọn dẹp dev dễ dàng hơn, dễ dàng hơn để duy trì dev.
Gần đây chúng tôi đã chuyển sang hướng di chuyển các khung nhìn dựa trên PHP hiện có của chúng tôi vào nhiều "tính năng" dựa trên React sống trong một /react
thư mục và được tổ chức thành /react/featureName
các thư mục con. Điều này có nghĩa là bộ điều khiển của Laravel chủ yếu chỉ xử lý dữ liệu và xác thực.
Mỗi tính năng được duy trì bởi một hoặc nhiều nhà phát triển, có các phụ thuộc, kiểm tra và chức năng riêng.
Chúng tôi hiện đang phục vụ các bản dựng trong gốc công khai của dự án của chúng tôi được tổ chức theo tính năng:
js/FeatureName.hashed.js
css/FeatureName.hased.css
hoạt động tuyệt vời ngoại trừ việc chúng tôi chia sẻ nhiều gói giữa features
. Phản ứng chính nó, phản ứng-bộ định tuyến, vv
Chúng tôi dự định sử dụng mix.js
càng nhiều càng tốt, nhưng hack trực tiếp webpack.config
cũng là một lựa chọn.
Tôi đã khám phá các mix.extract()
tùy chọn cho phép chúng ta xác định vendor.js xây dựng tách biệt với logic ứng dụng khác, nhưng nó dừng lại ở đó.
Vì vậy, đây là những câu hỏi của tôi)
- Có những cách tiếp cận nào để quản lý nhiều
package.json
tệp sống trong mỗi thư mục tính năng - Làm thế nào để chúng tôi xác định các gói phổ biến và khóa chúng vào một
/package.json
tập tin gốc . (Độc lập, tất cả các nhà phát triển đã sử dụngyarn
) - Làm thế nào để thực hiện điều này với ít ma sát nhất có thể cho tất cả các nhà phát triển dựa trên phản ứng - để họ có thể tiếp tục đơn giản với bất cứ điều gì họ đang làm và DevOps xử lý các bit gritty?
Tôi hiểu có thể cần thêm thông tin, vui lòng nói ra những gì bạn cần trong các bình luận và tôi rất vui lòng cập nhật câu hỏi.