Почему приложение Electron иногда не создается?

Я создал электронное приложение. Структура папок следующая:

App
  js
    script.js
  css
  db
  node_modules
  views
  package.json
  main.js

Я включил файлы js в форму ниже, в html,

<head>
    <script src= "../js/jquery.js"></script>
    <script src= "../js/bootstrap.min.js"></script>
    <link rel="stylesheet" href = "../css/css/bootstrap.min.css"/>
</head>
stuff..............
<script src="../js/script.js"></script>

Когда я собираю пакет с помощью electronic-packager, сборка проходит успешно. Но когда я запускаю приложение, функции, написанные в script.js, не работают.

Обновление 1 В моем script.js я написал следующий код

var Datastore = require('nedb')
  , db = new Datastore({ filename: 'db/data.db', autoload: true });
const fs = require('fs');
const {dialog} = require('electron').remote;
const XLSX = require('xlsx');

$(document).ready(function(){
    pricing_view();shipping_view();etr_view();cost_view();
})
stuff .................
$("#percentage,#channel_name,#brand").bind('keyup mouseup', function   
() {
    populate();
   });

Обновление 2: я использовал инструменты разработчика, чтобы найти ошибку. Он говорит, что модуль nedb не найден.

Все будет работать нормально, когда я запускаю с помощью npm start. Но после сборки функции в script.js не работают. Как решить эту проблему?


person bigbounty    schedule 20.07.2017    source источник
comment
Может, покажите, что внутри script.js файла?   -  person Erazihel    schedule 20.07.2017
comment
Я показал код внутри script.js   -  person bigbounty    schedule 20.07.2017
comment
Вы вообще используете Webpack? Вы пробовали электронное восстановление? Я упоминаю это только потому, что, возможно, зависимости не объединяются при упаковке приложения.   -  person unseen_damage    schedule 21.07.2017
comment
Нет @unseen_damage   -  person bigbounty    schedule 22.07.2017


Ответы (3)


Попробуйте временно включить инструменты разработчика в меню связанного приложения и посмотрите, есть ли ошибки в разделе сетей или консоли.

person jonolo    schedule 20.07.2017

Попробуйте загрузить свой скрипт следующим образом:

<script>
    require('../js/script.js');
</script>
person RoyalBingBong    schedule 20.07.2017

Я нашел ответ после 1 дня попыток и чтения документации электронного упаковщика. При упаковке с помощью electronic-packager измените devDependencies на dependencies в package.json. Это потому, что electronic-packager ищет зависимости вместо devDependencies.

Итак, прежде чем пытаться упаковать приложение, либо переименуйте devDependencies в dependencies, либо в npm install package_name --save.

** Примечание: не используйте --save-dev при упаковке с помощью electronic-packager, так как -dev сделает зависимости развития зависимостей.

person bigbounty    schedule 30.04.2019