在 Electron 中集成 SQLite 数据库的最佳实践
const sqlite3 = require('sqlite3').verbose();
const path = require('path');
// 获取应用程序数据目录路径
const getAppDataPath = () => {
switch (process.platform) {
case 'win32':
return path.join(process.env.APPDATA, '你的应用名');
case 'darwin':
return path.join(process.env.HOME, 'Library', 'Application Support', '你的应用名');
case 'linux':
return path.join(process.env.XDG_CONFIG_HOME, '你的应用名');
default:
throw new Error('未知操作系统');
}
};
// 数据库实例
const dbPath = path.join(getAppDataPath(), 'data.db');
const db = new sqlite3.Database(dbPath);
// 使用数据库实例进行查询等操作
db.serialize(() => {
db.run('CREATE TABLE IF NOT EXISTS lunch (info TEXT)');
const insertStmt = db.prepare('INSERT INTO lunch (info) VALUES (?)');
insertStmt.run('some data');
insertStmt.finalize();
db.each('SELECT rowid AS id, info FROM lunch', (err, row) => {
if (err) {
throw err;
}
console.log(row.id + ': ' + row.info);
});
});
db.close();
这个示例代码展示了如何在 Electron 应用程序中使用 Node.js SQLite3 模块来创建和管理一个 SQLite 数据库。首先,它定义了一个获取应用程序数据目录路径的函数,以确保数据库文件存储在适合的操作系统特定位置。然后,它创建了一个数据库实例,并展示了如何使用该实例来执行常规的数据库操作,如创建表、插入数据和查询数据。最后,代码展示了如何在结束时关闭数据库连接。
评论已关闭