为什么 Electron Application 有时无法构建?

Why does Electron Application not build sometimes?

我已经构建了一个电子应用程序。文件夹结构如下,

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>

当我使用 electron-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();
   });

更新二: 我使用 devtools 来查找错误。提示找不到nedb模块

当我 运行 使用 npm start 时,一切都会正常工作。但是在构建之后,script.js 中的函数不起作用。 如何解决这个问题?

尝试在捆绑应用的菜单中临时启用开发者工具,看看网络或控制台部分是否有错误。

尝试像这样加载脚本:

<script>
    require('../js/script.js');
</script>

经过 1 天的尝试和阅读 electron-packager 的文档,我找到了答案。使用electron-packager打包时,将[=29]中的devDependencies改为dependencies =]。那是因为 electron-packager 查找依赖项而不是 devDependencies。

因此,在尝试打包应用程序之前,要么将 devDependencies 重命名为 dependencies 要么 npm install package_name --save .

** 注意:使用electron-packager打包时不要使用--save-dev,因为-dev会使依赖开发依赖。