RepositoryJavaScript
SI

sindresorhus/electron-store

Simple data persistence for your Electron app or module - Save and load user preferences, app state, cache, etc

5.0kstars
167forks
0issues
2views

Thành tựu nổi bật

Những danh hiệu mới nhất của dự án

1
TINIX TRENDING·Chủ đề: config

#1 Repository Của Tuần

1
TINIX TRENDING·Chủ đề: data-persistence

#1 Repository Của Tuần

1
TINIX TRENDING·Chủ đề: user-preferences

#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.json tạ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 defaults hoặc schema.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.

RepositoryJavaScript
typicode/lowdb

Simple and fast JSON database

22.6k
Mar 27, 2026
RepositoryJavaScript
sindresorhus/electron-serve

Static file serving for Electron apps

486
Jan 29, 2026
RepositoryKotlin
orhanobut/hawk

✔️ Secure, simple key-value storage for Android

4.0k
Oct 3, 2026
RepositoryTypeScript
microsoft/vscode

Visual Studio Code

194.3k
Oct 25, 2026
Modelsentence-similarity
sentence-transformers/all-MiniLM-L6-v2

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...

♥0
190.2M
Jun 1, 2026
RepositoryJavaScript
trekhleb/javascript-algorithms

📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings

196.7k
Jul 26, 2026
RepositoryC++
electron/electron

:electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS

123.5k
Oct 23, 2026
RepositoryGo
minio/minio

MinIO is a high-performance, S3 compatible object store, open sourced under GNU AGPLv3 license.

61.3k
Apr 24, 2026
RepositoryTypeScript
firecrawl/firecrawl

Supercharge your AI agents with data from the web and beyond. Building the library for superintelligence. 🔥

195.6k
Oct 26, 2026