• electron使用better-sqlite3打包失败(electron打包有进程没有界面)


    remove *\chrome_100_percent.pak: Access is denied.

    解决: 管理员权限执行:taskkill /IM 你的进程名.exe /F,再次执行build

    electron使用better-sqlite3打包后有进程没有界面

    原因是代码及依赖包安装有误,模块丢失。主要分享的是排查思路。

    解决过程
    1. 添加日志模块,去关键地方找问题
    1. const log = require('electron-log')
    2. const { app } = require('electron')
    3. log.transports.file.level = 'info'
    4. log.transports.console.level = 'info'
    1. 关键地方添加try-catch
    1. try {
    2. this.db = new sqlite3(name === '' || name === undefined ? this.dbName : name)
    3. this.db.pragma('journal_mode = WAL')
    4. } catch (error) {
    5. logger.warn(`sqlite init fail, ${error}`)
    6. }
    1. 如果使用better-sqlite3模块需要安装如下两个依赖
    pnpm install bindings file-uri-to-path --save
    1. 检查那些依赖是开发模式用的那些是生产模式用的

    我的依赖如下:

    1. "dependencies": {
    2. "better-sqlite3": "^9.1.1",
    3. "electron-log": "^5.0.0",
    4. "iconv-lite": "^0.6.3"
    5. },
    6. "devDependencies": {
    7. "@rushstack/eslint-patch": "^1.3.3",
    8. "@tsconfig/node18": "^18.2.2",
    9. "@types/node": "^18.18.8",
    10. "@vicons/ionicons5": "^0.12.0",
    11. "@vitejs/plugin-vue": "^4.4.0",
    12. "@vue/eslint-config-prettier": "^8.0.0",
    13. "@vue/eslint-config-typescript": "^12.0.0",
    14. "@vue/tsconfig": "^0.4.0",
    15. "bindings": "^1.5.0",
    16. "electron": "21.4.4",
    17. "electron-builder": "23.6.0",
    18. "electron-rebuild": "^3.2.9",
    19. "eslint": "^8.49.0",
    20. "eslint-plugin-vue": "^9.17.0",
    21. "file-uri-to-path": "^2.0.0",
    22. "idb": "^7.1.1",
    23. "less": "^4.2.0",
    24. "less-loader": "^11.1.3",
    25. "naive-ui": "^2.35.0",
    26. "npm-run-all2": "^6.1.1",
    27. "pinia": "^2.1.7",
    28. "prettier": "^3.0.3",
    29. "safer-buffer": "^2.1.2",
    30. "tree-kill": "^1.2.2",
    31. "typescript": "~5.2.0",
    32. "unplugin-auto-import": "^0.16.7",
    33. "unplugin-vue-components": "^0.25.2",
    34. "vfonts": "^0.0.3",
    35. "vite": "^4.4.11",
    36. "vite-plugin-electron": "^0.15.4",
    37. "vite-plugin-electron-renderer": "^0.14.5",
    38. "vue": "^3.3.8",
    39. "vue-router": "4",
    40. "vue-tsc": "^1.8.19"
    41. },
    1. 查看日志文件

    日志文件一般在appData/roaming目录下,envtools是我的项目名

    最后分享一下我的成果

    原文地址

    electron使用better-sqlite3打包失败(electron打包有进程没有界面)-小何博客

  • 相关阅读:
    创意电子学-小知识:晶体管
    nginx反向代理 负载均衡
    MongoDB故障转移案例详细操作
    排序算法(二)
    前后端交互常见的几种数据传输格式 form表单+get请求 form表单+post请求 json键值对格式
    Promise及相关知识细学
    SpringCloud-01
    如何实现MongoDB数据的快速迁移?
    二叉搜索树
    BioVendor sRAGE抗体解决方案
  • 原文地址:https://blog.csdn.net/h1530687053/article/details/134467980