Các vấn đề gặp phải khi xây dựng một website lớn với AngularJS
Bài đăng này đã không được cập nhật trong 7 năm
Nếu chúng ta đang xây dựng một trang web lớn với AngularJS, thì chúng ta có rất nhiều công việc cần giải quyết. Một trang web lớn đã là một công việc đủ lớn, và AngularJS không chính xác sẽ làm cho mọi việc dễ dàng hơn. Do kích thước lớn của dự án, một số các vấn đề rắc rối có thể phát sinh trong quá phát triển có thể dường như không thể sửa chữa.
Dưới đây là 5 vấn đề phổ biến nhất mà các trang web lớn phải đối mặt khi xây dựng với AngularJS (cũng như các giải pháp để giải quyết chúng): 1.Tổ chức code Khi xây dựng một trang web AngularJS quy mô lớn, chúng ta cần phải làm cho các code được tổ chức một cách hợp lý, điều này sẽ làm trang web của chúng ta được hưởng lợi nhiều, đồng thời nó sẽ giúp bạn theo dõi tốt hơn và dễ dàng tìm kiếm các mục quan trọng.
Khi code của chúng ta được tiếp tục mở rộng, chúng ta sẽ có thêm nhiều controllers và service. Khi chúng ta thêm các file, cấu trúc thư mục cuối cùng có thể trở lên cồng kềnh đến mức rời rạc. Chúng ta sẽ cảm thấy khó khăn thực hiện ngay cả với những nhiệm vụ đơn giản của định vị các đối tượng hoặc thay đổi các tệp tin. Ngoài ra, trong các ứng dụng lớn có rất nhiều liên kết chồng chéo giữa các module và các mã chung.
Đây là then chốt trong việc tổ chức code. Để quản lý ứng dụng AngularJS ngày càng tăng, chúng ta cần phải bắt đầu bằng cách tạo ra một thư mục cho các nguyên mẫu và chia các đối tượng vào các tập tin riêng của chúng. Điều này sẽ loại bỏ một số lượng lớn dư thừa trong khi nhóm và lưu các tập tin.
Để làm cho module của chúng ta dễ quản lý hơn, chúng ta có thể tạo một thư mục chứa các mã được dùng chung và chia module vào các môđun con. Điều này sẽ sắp xếp thư mục có mã chồng chéo.
Ngoài ra, chúng ta có thể viết lên tên đối tượng module, hoặc thêm phương pháp hữu ích lên $rootScope để chúng có thể được sử dụng bởi scope con.
Đó là tất cả những thứ chúng tôi cần khi xây dựng ứng dụng với AngularJS. Điều quan trọng là trước khi chúng ta bị lún quá sâu, hãy nỗ lực để đưa mọi thứ theo thứ tự. 2. Load các file javascript Với những dự án AngularJS lớn, sau khi kết thúc có thể sẽ có hàng trăm file javascript, và những tập tin này thường được tải từng cái một và có thể chúng còn phụ thuộc vào các tệp tin javascrip khác. Do vậy quá trình này có thể sẽ ảnh hưởng đến tốc độ cũng như hiệu suất của trang web, đăc biệt là các file được yêu cầu tài trước.
Để dọn dẹp và cũng như quản lí các quan hệ phụ thuộc, chúng ta nên thiết lập tải các tệp JavaScrip mà mình cần thay vì tải tất cả chúng lên trang. Điều này sẽ cho phép các tệp tải được tải theo như yêu cầu của người dùng, và sẽ hiệu quả hơn khi tải file.
Thư viện JavaScript như RequireJS có thể thực hiện chức năng tải động. RequireJJ chia tách các mã JavaScript thành các mô đun riêng biệt, cung cấp một cách tối ưu để tự động tải các tệp JavaScript. Nó cũng được sử dụng tải các script không đồng bộ, có thể tăng tốc độ ứng dụng của chúng ta nhiều hơn. Và nó làm tất cả điều này từ bên trong trình duyệt.
Trang web tải chậm luôn tạo trải nghiệm xấu cho người dùng và nỗ lực xây dựng một trang web lớn và những thách thức từ đó có thể làm cho chúng ta có nhiều bực bội. Tải động các tệp JavaScript giúp cho cả chúng ta và cho người dùng. 3. Gỡ lỗi code Đây là một việc không thể tránh khỏi, trong bất kỳ dự án đang phát triển, chúng ta sẽ luôn gặp những vấn đề mà rất khó để gỡ lỗi, với một dự án AngularJS lớn, chúng ta có thể mất rất nhiều thời gian để tìm kiếm nguyên nhân gây ra lỗi trong các đoạn code.
AngularJS batarang là một phần mở rộng của Chrome, nó rất hữu ích để gỡ lỗi các ứng dụng AngularJS. Batarang đơn giản hoá quá trình gỡ lỗi bằng cách cho phép chúng ta đi sâu xuống và chọn phạm vi mà chúng ta muốn xem. Từ đó, chúng ta có thể xem các thuộc tính cụ thể và giá trị hiện tại của họ.
Chúng ta cũng sẽ tìm hiểu thông tin về trang web hoặc ứng dụng bằng cách sử dụng đồ thị phụ thuộc và hiệu suất của batarang.
Đồ thị phụ thuộc cho phép chúng ta có thể nhìn rõ ràng hoạt động của các thành phần trong trang web. Nếu một thành phần hay một đối tượng quan trọng bị hỏng, chúng ta có thể biết nó bị lỗi từ vị trí nào. Từ đó, giúp chúng ta có thể sửa lỗi một cách nhanh chóng hơn.
Các công cụ thực hiện cho phép chúng ta xem những chức năng mất nhiều thời gian nhất để chạy. Từ đó, chúng ta có thể xem và sửa chữa những thành phần mất nhiều thời gian nhất. Khi chúng ta làm thế, chúng ta sẽ có một trang web nhanh hơn, chạy mượt mà hơn. 4. Tích hợp thư viện của bên thứ ba Thư viện của bên thứ ba là một phần tự nhiên của việc xây dựng các ứng dụng AngularJS quy mô lớn . Một trong những vấn đề lớn với việc tích hợp thư viện của bên thứ ba với AngularJS, là những thay đổi trong DOM hoặc giá trị trả lại thông qua các cuộc gọi AJAX. Angular sẽ không nhìn thấy hoặc thừa nhận những thay đổi này trừ khi chúng ta bắt đầu một vòng lặp $digest.
Và để có thể sử dụng thư viện của bên thứ ba với AngularJS, chúng ta có thể thông qua việc sử dụng các chức năng sau:
- $scope.apply()
- $scope. $ EvalAsync
- $q.when()
- $timeout Các chức năng này cho phép AngularJS có thể nhân biết những thay đổi từ một thư viện của bên thứ ba cho phù hợp.
All rights reserved