refactor: 数据库层从 better-sqlite3 迁移到 sql.js (WASM)
- 替换原生依赖 better-sqlite3 为纯 WASM 的 sql.js,消除 Electron ABI 版本不匹配问题 - 新增 sql.js 兼容层:runExec/queryOne/queryAll/runPragma/runTransaction - initDatabase() 改为异步(WASM 加载需要) - 每次写操作后自动 persist() 到磁盘 - electron-builder 配置:extraResources 打包 sql-wasm.wasm - 移除 @electron/rebuild 依赖和 postinstall 脚本 - 设置 npmRebuild: false(不再需要原生模块重编译)
This commit is contained in:
+9
-7
@@ -14,8 +14,7 @@
|
||||
"start": "npm run build && electron . --no-sandbox",
|
||||
"pack": "npm run build && electron-builder --dir",
|
||||
"dist": "npm run build && electron-builder --win",
|
||||
"dist:nsis": "npm run build && electron-builder --win nsis",
|
||||
"postinstall": "electron-rebuild --version 33.4.11 || true"
|
||||
"dist:nsis": "npm run build && electron-builder --win nsis"
|
||||
},
|
||||
"build": {
|
||||
"appId": "com.metona.ollama-desktop",
|
||||
@@ -23,13 +22,18 @@
|
||||
"directories": {
|
||||
"output": "release"
|
||||
},
|
||||
"npmRebuild": true,
|
||||
"buildDependenciesFromSource": true,
|
||||
"npmRebuild": false,
|
||||
"files": [
|
||||
"dist/**/*",
|
||||
"assets/**/*",
|
||||
"!node_modules/**/*"
|
||||
],
|
||||
"extraResources": [
|
||||
{
|
||||
"from": "node_modules/sql.js/dist/sql-wasm.wasm",
|
||||
"to": "sql-wasm.wasm"
|
||||
}
|
||||
],
|
||||
"win": {
|
||||
"target": [
|
||||
{
|
||||
@@ -54,7 +58,6 @@
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"@electron/rebuild": "^3.7.1",
|
||||
"@types/node": "^20.17.0",
|
||||
"electron": "^33.4.11",
|
||||
"electron-builder": "^25.1.8",
|
||||
@@ -62,7 +65,6 @@
|
||||
"vite": "^5.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@types/better-sqlite3": "^7.6.13",
|
||||
"better-sqlite3": "^12.9.0"
|
||||
"sql.js": "^1.11.0"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user