如何在我的电子应用程序中打包 knex 以使用 sqlite3
Posted
技术标签:
【中文标题】如何在我的电子应用程序中打包 knex 以使用 sqlite3【英文标题】:How to package knex in my electron app to use sqlite3 【发布时间】:2021-02-11 06:01:51 【问题描述】:在我的电子应用程序中,我想打包 knex 以使用 sqlite3 数据库。
我的 package.json 文件
"name": "p",
"version": "1.0.0",
"description": "T",
"main": "main.js",
"scripts":
"start": "electron .",
"package-mac": "electron-packager . --overwrite --platform=darwin --arch=x64 --icon=assets/icons/mac/icon.icns --prune=true --out=release-builds",
"package-win": "electron-packager . electron-tutorial-app --overwrite --asar=true --platform=win32 --arch=ia32 --icon=assets/icons/win/icon.ico --prune=true --out=release-builds --version-string.CompanyName=CE --version-string.FileDescription=CE --version-string.ProductName=\"PlanGo\"",
"package-linux": "electron-packager . electron-tutorial-app --overwrite --asar=true --platform=linux --arch=x64 --icon=assets/icons/png/icon.png --prune=true --out=release-builds",
"rebuild": "electron-rebuild -f -w sqlite3"
,
"author": "R",
"license": "MIT",
"dependencies":
"custom-electron-titlebar": "^3.2.4",
"jquery": "^3.5.1",
"knex": "^0.21.6",
"sqlite3": "^5.0.0"
,
"devDependencies":
"electron-packager": "^15.1.0",
"electron-rebuild": "^2.2.0",
"electron": "^10.1.3"
我已按照以下教程打包我的应用程序https://www.christianengvall.se/electron-packager-tutorial/
【问题讨论】:
【参考方案1】:我自己回答这个问题是因为我能够打包它
首先,我使用"electron-builder": "^22.9.1"
,而不是electron-packager
。
接下来,没有打包的原因是我的应用数据的存储位置没有正确指定。
我使用的是 sqlite 数据库和一个 json 文件。
在 Windows 上,您必须确保它保存在 APP DATA > 您的文件夹名称下。 如果你使用,Electron 会自动处理这个问题
jsonPath = path.join(process.env.APPDATA, "/MyFileName/jsonFile.json");
这应该可以解决您可能遇到的任何包装错误。
【讨论】:
以上是关于如何在我的电子应用程序中打包 knex 以使用 sqlite3的主要内容,如果未能解决你的问题,请参考以下文章