Tìm kiếm trang web

bộ nhớ đệm - Tại sao Chrome không cập nhật các tệp nguồn Typescript khi có thay đổi?


Tôi đang làm việc trên một dự án TypeScript (0.9.1) sử dụng Visual Studio 2012 với Web Essentials mới nhất làm IDE, và tôi gỡ lỗi bằng công cụ phát triển của Chrome.

Gần đây, và rất có thể sau khi cập nhật Chrome (phiên bản hiện tại 29.0.1547.66 m), các tệp typeScript không được cập nhật sau khi tôi chỉnh sửa chúng, và mặt khác các tệp js đã biên dịch tương ứng lại được cập nhật, nhưng có vẻ như chức năng vẫn phụ thuộc vào phiên bản nguồn chưa được cập nhật.

Những giải pháp đã thử và thất bại:

  • Xây dựng lại toàn bộ giải pháp.
  • Làm mới mạnh (Shift + F5) trang web localhost trên Chrome
  • Xóa các tệp bản đồ nguồn và tạo lại chúng.

Sau một vài thử nghiệm, có vẻ như ngay cả việc yêu cầu tải xuống các tệp nguồn ts cũng cho ra phiên bản không được cập nhật (http://localhost:1198/xxx.ts ví dụ)

Có vẻ như vấn đề được khắc phục một phần sau khi khởi động lại hoàn toàn (Windows 8 nếu điều đó quan trọng), các tệp nguồn được cập nhật trong Chrome, nhưng một khi tôi thay đổi lại, vấn đề tương tự lại xuất hiện.

Một giải pháp khác là sử dụng chế độ ẩn danh, vì dường như đây là một vấn đề về bộ nhớ đệm.

Câu hỏi của tôi:

Việc lưu trữ các tệp TypeScript theo cách đó có phải do vấn đề trong cấu hình của dự án (ngay cả khi trước đó nó vẫn hoạt động), hay đây là một lỗi trong phiên bản mới của Chrome?

Câu trả lời #1

Tôi cũng đang gặp cùng một vấn đề. Tôi đã giải quyết vấn đề này bằng cách sử dụng công cụ gỡ lỗi của Chrome và chọn tắt bộ nhớ đệm.

Vấn đề thứ hai của tôi, tôi đã viết nhiều lớp vào cùng một tệp. Tôi tách từng lớp ra thành các tệp riêng biệt.

Câu trả lời #2

Tôi đã giải quyết vấn đề này bằng cách xóa các tệp được lưu trong bộ nhớ đệm một cách thủ công. Việc này có thể thực hiện thông qua cài đặt của Chrome:

  1. Nhấp vào Tùy chỉnh và điều khiển Google Chrome - biểu tượng menu bánh hamburger ở góc trên bên phải của cửa sổ trình duyệt.
  2. Chọn Cài đặt gần cuối menu.
  3. Cuộn xuống và nhấp vào liên kết Hiển thị cài đặt nâng cao....
  4. Nhấp vào nút Xóa dữ liệu duyệt web....
  5. Đánh dấu Hình ảnh và tệp đã lưu trong bộ nhớ đệm. Các ô kiểm khác có thể để trống.
  6. Nhấp vào nút Xóa dữ liệu duyệt web.

Hộp kiểm 'Vô hiệu hóa bộ nhớ đệm' trong tab mạng không hoạt động với tôi, cũng như Ctrl+F5.

Câu trả lời #3

Nếu bạn đang phục vụ từ IIS, chúng tôi đã tắt bộ nhớ đệm thủ công trong tệp web.config của mình :

<system.webServer>

    <httpProtocol>

      <!--TODO: Remove this block for production (//TODO: Remove this block for production) -->
      <customHeaders>
        <!--DISABLE CACHE-->
        <add name="Cache-Control" value="no-cache, no-store, must-revalidate" />
        <add name="Pragma" value="no-cache" />
        <add name="Expires" value="0" />
      </customHeaders>

    </httpProtocol>
</system.webServer>     

Bài viết liên quan