Trong bài viết trước, mình có giới thiệu các bạn 1 số plugin hay dùng trong spring. Trong đó có frontEnd-maven-plugin. Xem bài viết trại đây .
Mình dùng plugin này để tạo nên project backend là spring boot và fontend bao gồm reactjs + thymeleaf và cuối cùng phải đập react đi xây lại chỉ dùng thymeleaf :D. Vì những khó khăn gặp phải nên mình viết lại 1 số nhược điểm lớn khiến cho mình phải bỏ đi react trong dự án của mình.
1 Project build nặng, phức tạp
Khi sử dụng frontEnd-maven-plugin đồng nghĩa với việc các module của react sẽ build chung với spring framwork, đi kèm với việc chúng ta phải dùng webpack để build react. Như vậy mỗi lần bạn sửa 1 chút code thôi cũng phải run lại cả server, làm chậm thời gian phát triển dự án.
Thoạt đầu mình chỉ nghĩ, sau khi config webpack và các đường dẫn thôi, rồi sau đó chỉ cần tập chung code logic và code chức năng, tuy nhiên khi dựng xong hết rồi build lên mới thấy sau build thì các file được bundle vào cùng thư mục target thì frontEnd mới lấy được router bên server trả ra. Vì thế mình cũng tìm mà không có các nào để hot reload cho reactjs được. Do vậy mà cứ mỗi lần chỉnh sửa thì lại run lại server.
2 Phải tỉ mỉ và cẩn thập trong đường dẫn
Là hệ thống thích hợp frontend js với Spring framwork dựa trên plugin thứ 3, nên các router không phải của framwork frontEnd mà là của server.
Thế nên khi đặt các đường links trong thẻ a phải đúng.
3 Server đã chậm, nay còn chậm hơn
Có lẽ đây là điều khiến tôi buộc phải gỡ reactjs ra khỏi hệ thống của mình. Với sự phát triển nhanh về mặt công nghệ, con người không có thói quen kiên nhẫn để đợi 1 trang web loading quá lâu. Dù tôi đã cố giảm thiểu thời gian load các file bằng cách khác nhau và caching dữ liệu, tuy nhiên việc load vẫn rất chậm. Sau khi gỡ bỏ react thì mọi thứ được khắc phục :)). Tốc độ tải không còn là vấn đề.
