Приложение Electron js не работает после сборки - PullRequest
0 голосов
/ 13 марта 2020

я создаю маленькое приложение с электроном js и sqlite с knex, оно работает purfuctyl, когда я запускаю npm start, но когда я пытаюсь создать приложение в windows с помощью builder электронов, у меня возникают проблемы, форма входа не работает , я активирую режим разработчика и у меня нет ошибок в журнале консоли, я отправляю события с 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"
  }
}

login sumbmit

$('#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
});

Ответы [ 2 ]

0 голосов
/ 14 марта 2020

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

0 голосов
/ 13 марта 2020

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

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

Я давно не видел свой электронный проект, но то, что я узнал и было лучшим вариантом для меня, это было развертывание приложения на виртуальной машине с windows и еще один с linux, чтобы я мог попробовать как в "настоящей" среде

...