Приложение Electron js не работает после сборки

Я создаю небольшое приложение с электронным js и sqlite с knex, оно работает purfuctyl, когда я запускаю npm start, но когда я пытаюсь создать приложение в Windows с помощью электронного строителя, у меня проблема, форма входа не работает, я активирую режим разработчика, и я не нет ошибок в журнале консоли, я отправляю события с помощью jQuery

package.json
{
  "name": "olad-amtaia-water-manager",
  "version": "0.0.1",
  "description": "Gérer les factures d'eau d'une association villageoise",
  "main": "main.js",
  "scripts": {
    "postinstall": "electron-builder install-app-deps",
    "start": "electron .",
    "pack": "build --dir",
    "dist": "electron-builder",
    "rebuild": "electron-rebuild -f -w sqlite3"
  },
  "build": {
    "appId": "olad-amtaia-water-manager",
    "dmg": {
      "contents": [
        {
          "x": 110,
          "y": 150
        },
        {
          "x": 240,
          "y": 150,
          "type": "link",
          "path": "/Applications"
        }
      ]
    },
    "linux": {
      "target": [
        "AppImage",
        "deb"
      ]
    },
    "win": {
      "target": "NSIS",
      "icon": "build/icon.ico"
    }
  },
  "author": "Boutamente abdessamad",
  "license": "MIT",
  "dependencies": {
    "mssql": "^6.1.0",
    "mysql": "^2.18.1",
    "mysql2": "^2.1.0",
    "moment": "^2.24.0",
    "sessionstorage": "^0.1.0",
    "pg": "^7.18.2",
    "jquery": "^3.4.1",
    "knex": "^0.20.10",
    "sqlite3": "^4.1.1"
  },
  "devDependencies": {
    "mssql": "^6.1.0",
    "mysql": "^2.18.1",
    "mysql2": "^2.1.0",
    "moment": "^2.24.0",
    "sessionstorage": "^0.1.0",
    "pg": "^7.18.2",
    "electron": "^8.0.3",
    "electron-builder": "^22.4.0",
    "jquery": "^3.4.1",
    "knex": "^0.20.10",
    "sqlite3": "^4.1.1"
  }
}

войти в систему

$('#loginForm').submit(function (e) { 
        e.preventDefault();
        let formData = new Object();
        formData.email = $(this).find('#login_email').val();
        formData.password = $(this).find('#login_password').val();
        ipcRenderer.send('login',formData);
    });

связь с базой данных

process.env.NODE_ENV = 'development';
const dbPath = path.resolve(__dirname, 'database.db')
var db = new sqlite3.Database(dbPath);


const knex = require("knex")({
    client: "sqlite",
    connection: {
        filename:  db.filename
    },
    useNullAsDefault: true
});

person Boutamente abdessamad    schedule 12.03.2020    source источник
comment
Это не из-за неправильной конфигурации сборки.   -  person tpikachu    schedule 13.03.2020
comment
Можете ли вы поделиться с текущим экраном входа в систему после сборки?   -  person tpikachu    schedule 13.03.2020
comment
И вы можете открыть DeveloperTools, когда создаете браузер Window   -  person tpikachu    schedule 13.03.2020
comment
Я редактирую сообщение и добавляю код, текущий экран входа в систему отображается нормально без каких-либо ошибок консоли, я думаю, что ошибка связана с базой данных   -  person Boutamente abdessamad    schedule 14.03.2020
comment
После пакета, где находится database.db или создается?   -  person tpikachu    schedule 14.03.2020
comment
База данных находится в корневой папке   -  person Boutamente abdessamad    schedule 14.03.2020
comment
Я нашел проблему, я исправил ее, добавив asar: false, в объект сборки, но код приложения с открытым исходным кодом не зашифрован, но работает, теперь я хочу найти решение, больше практики   -  person Boutamente abdessamad    schedule 14.03.2020


Ответы (2)


попробуй это:

"nsis": {
  "deleteAppDataOnUninstall": true,
  "uninstallDisplayName": "app"
}
...  
"win": {
  "target": [
     "nsis"
  ]
}
...

Я давно не видел свой электронный проект, но то, что я узнал, было для меня лучшим вариантом - это развернуть приложение на виртуальной машине с Windows, а другую с Linux, чтобы я мог попробовать, как в «реальных» средах.

person Diego Molina    schedule 12.03.2020
comment
Можете поделиться подробностями. Картинки или что-нибудь - person Diego Molina; 14.03.2020

Я нашел проблему, я исправил ее, добавив "asar": false, в объекте сборки, но код приложения с открытым исходным кодом не зашифрован, но работает, теперь я хочу найти решение, больше практики

person Boutamente abdessamad    schedule 14.03.2020