2015-08-04 10 views
8

Tôi đang cố gắng tăng tốc trang web của mình. Đây là những gì tôi tìm thấy trong các công cụ phát triển của chrome bên trong Dòng thời gian/Hồ sơ JS. Có chứa 150 Parse HTML màu xanh (trên màn hình).angular.js - phân tích cú pháp chức năng html đang lấy 2000ms và nhiều hơn nữa

enter image description here

Đó là 50% thời gian tải. Tôi đã thử nghiệm nó bằng cách sử dụng một máy tính bảng và chức năng này mất ngay cả 15000ms! Tôi đang đặt nhà cung cấp tuyến đường như sau:

var start = '<div class="important">'; 
var end = '</div>'; 
$routeProvider.when('/test', { 
    template: start + 'some short text' + end 
}); 

Có vấn đề gì? Kích thước đầy đủ của trang web là 500kb. Nó có 97 phạm vi.

Chỉnh sửa: nếu tôi kiểm tra trang web mà không sử dụng góc trên máy tính bảng, thời gian tải là 2,5 giây (như tôi đã nêu ở trên có góc trên 18 giây). Tôi sẵn sàng trả tiền cho giải pháp.

Tôi cũng đang thêm timeline data mà tôi đã gỡ lỗi (trên máy tính bảng). Bạn có thể kiểm tra dòng thời gian trên Chrome. Mở bảng điều khiển dành cho nhà phát triển (F12). Nhấp vào tab Dòng thời gian. Nhấp chuột phải vào tab này và sau đó chọn Tải dữ liệu dòng thời gian.

Chỉnh sửa 2: Tôi đang sử dụng angular-material và tôi nghĩ rằng đây có thể là vấn đề và điều này có thể là tất cả những phân tích cú pháp html bởi vì có rất nhiều ví dụ về các nút.

+0

Lưu ý rằng các cuộc gọi parseHTML là một phần của vòng đời kiễu góc. Bạn có thường xuyên sử dụng ng-lặp lại không? – user2977636

+0

chỉ có một ng-lặp lại và nó trống (0 bài) khi tôi làm bài kiểm tra đó (thường có khoảng 5 bài) – dontHaveName

+0

@dontHaveName Tôi nghĩ rằng trừ khi có ai đó gặp vấn đề tương tự, rất khó giúp bạn mà không thấy một số mã thực tế. –

Trả lời

1

Bạn không gửi mã của bạn, nhưng dưới đây các nhà sản xuất chậm:

  • Quá nhiều chỉnh lại dòng, tô màu lại, parseHTML
  • chậm kiểm tra bẩn
  • Quá nhiều thao tác DOM

Trong các giải pháp ngắn dưới đây:

  • Sử dụng chỉ với các mẫu inline
  • Sử dụng $ templateCache
  • nhớ Tái sử dụng thay vì cấp phát bộ nhớ mới
  • Sử dụng ít hồ
  • Hoãn tạo yếu tố
  • Ngăn lớn và phức tạp ng-lặp đi lặp lại (áp dụng pagination ví dụ)
  • Ngăn yêu cầu nhiều (ban đầu) từ một trang

Trường hợp xảy ra sự cố?

Sử dụng công cụ bên cạnh thanh nhà phát triển Chrome như Batarang để gỡ lỗi và hồ sơ ứng dụng angularjs của bạn. Tải về nó từ: https://chrome.google.com/webstore/detail/angularjs-batarang/ighdmehidhipcmcojjgiloacoafjmpfk

đọc thêm ở đây:

Các vấn đề liên quan