sindresorhus/electron-store
Simple data persistence for your Electron app or module - Save and load user preferences, app state, cache, etc
Thành tựu nổi bật
Những danh hiệu mới nhất của dự án
#1 Repository Của Tuần
#1 Repository Của Tuần
#1 Repository Của Tuần
📦 electron-store – Lưu trữ cấu hình JSON cho Electron mà không cần lo gì thêm
electron-store giúp bạn lưu và tải cài đặt người dùng, trạng thái ứng dụng, bộ nhớ đệm… chỉ bằng vài dòng code.
Electron không có cơ chế nền tảng nào để lưu trữ bền vững dữ liệu nhỏ như cài đặt người dùng. electron-store — phát triển bởi Sindre Sorhus — giải quyết vấn đề này bằng cách tự động đồng bộ dữ liệu vào một tệp JSON (config.json) nằm trong thư mục do Electron quy định qua app.getPath('userData').
Thích hợp cho mọi dự án Electron hiện đại, thư viện này hỗ trợ cả quy trình chính (main process) và quy trình hiển thị (renderer process), đồng thời đảm bảo an toàn khi ghi nhờ cơ chế ghi nguyên tắc (atomic write).
✨ Điểm nổi bật
- Lưu trữ JSON tự động: Dữ liệu được lưu trong tệp
config.jsontại thư mục userData mặc định của Electron. - API đơn giản: Dùng
.get(),.set(),.delete()để thao tác trựy cập và sửa xoá dễ dàng. - Hỗ trợ đường dẫn lồng nhau: Truy cập các thuộc tính con bằng cú pháp chấm (ví dụ:
'foo.bar'). - Xác thực bằng JSON Schema: Sử dụng ajv để kiểm tra dữ liệu theo chuẩn JSON Schema draft-2020-12.
- Giá trị mặc định linh hoạt: Cấu hình
defaultshoặcschema.defaultđể khởi tạo giá trị ban đầu. - Di chuyển phiên bản (migrations): Tự động cập nhật cấu trúc lưu trữ khi phiên bản thay đổi.
- Ghi an toàn: Mỗi thay đổi đều được ghi nguyên tắc, tránh gãy hỏng nếu tiến trình bị lỗi giữa chừng.
- Hỗ trợ ESM: Yêu cầu Electron 30 trở lên và sử dụng mô-đun ESM thuần.
💡 Vì sao đáng chú ý
Không giống như các giải pháp lưu trữ phức tạp như SQLite hay IndexedDB, electron-store tập trung hoàn toàn vào những gì người dùng thực sự cần trong hầu hết các ứng dụng Electron: lưu trữ nhẹ llop, nhanh chóng và đáng tin cậy. Với cấu hình JSON Schema, bạn có thể kiểm soát chặt chẽ định dạng dữ liệu, đồng thời cơ chế migration giúp ứng dụng mượt mà khi nâng cấp phiên bản.
Tuy nhiên, vì toàn bộ tệp JSON được đọc và ghi lại mỗi lần thay đổi, dự án này không phù hợp cho dữ liệu lớn. Đối với trường hợp đó, hãy chuyển sang giải pháp như SQLite hoặc lowdb.
#Electron #NodeJS #DataPersistence #OpenSource #ConfigStorage #TiniX
Similar Projects
Discover other similar projects and AI models.
all-MiniLM-L6-v2 This is a sentence-transformers(https://www.SBERT.net) model: It maps sentences & paragraphs to a 384 dimensional dense vector space and can be used for tasks like clustering or semantic search. Usage (Sentence-Transformers) Using t...
📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings
:electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS
MinIO is a high-performance, S3 compatible object store, open sourced under GNU AGPLv3 license.
Supercharge your AI agents with data from the web and beyond. Building the library for superintelligence. 🔥