Chỉ cần đặt tất cả các tệp vào một tệp .zip không phải là giải pháp khả thi vì hầu hết các ứng dụng web đều cần máy chủ web để chúng có thể truy cập tài nguyên thông qua các yêu cầu HTTP. Trên một số hệ thống, bạn có thể truy cập các tệp qua file://
lược đồ URI , nhưng điều đó không được đảm bảo để hoạt động ở mọi nơi vì lý do bảo mật và sẽ thất bại đối với những thứ như yêu cầu AJAX.
Nó có thể hoạt động cho một ứng dụng rất đơn giản, nơi bạn có hầu hết các tài nguyên nội tuyến nhưng đây thực sự không phải là cách tiếp cận mà tôi muốn giới thiệu cho bất kỳ ai. Có những lựa chọn thay thế, chẳng hạn như:
Xây dựng một ứng dụng gốc
Bạn có thể đóng gói ứng dụng web của mình dưới dạng một ứng dụng gốc bằng Node-Webkit . Bạn thậm chí có thể sử dụng điều này để thêm các tính năng gốc của máy tính để bàn (như trò chơi lưu cục bộ) vào trò chơi của bạn.
Tuy nhiên, đây không phải là cách tiếp cận " gói và hoàn thành " .. bạn có thể phải viết lại các phần của ứng dụng và viết các trình tải khác nhau (ví dụ: với ứng dụng trên máy tính để bàn, bạn sẽ tải các tệp qua hệ thống tệp, trong khi bạn sử dụng HTTP -Requests trong một trình duyệt / trò chơi trực tuyến).
Sử dụng các tính năng HTML5 để cho phép truy cập ngoại tuyến ứng dụng của bạn
Nếu mục tiêu chính của bạn là cho phép người chơi chơi trò chơi ngoại tuyến, thì bạn cũng có thể sử dụng bộ đệm ứng dụng để cho phép truy cập ngoại tuyến ứng dụng của mình. Đây là một tính năng hoạt động trong hầu hết các trình duyệt hiện đại . Lợi ích bổ sung là người dùng không phải tải xuống bất cứ thứ gì và chỉ có thể sử dụng dấu trang để chơi trò chơi của bạn ngay cả khi ngoại tuyến.
Đối với các tài nguyên đang được tải không đồng bộ (AJAX), bạn cũng sẽ phải thực hiện các cơ chế tải riêng biệt. Bạn có thể sử dụng bộ nhớ cục bộ để lưu các tài nguyên này để sử dụng ngoại tuyến.