0

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

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

更新 2: 我使用 devtools 来查找错误。它说找不到 nedb 模块。

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

4

3 回答 3

0

尝试在捆绑应用程序的菜单中临时启用 devtools,并查看网络或控制台部分是否有错误。

于 2017-07-20T12:40:01.677 回答
0

尝试像这样加载您的脚本:

<script>
    require('../js/script.js');
</script>
于 2017-07-20T13:12:14.957 回答
0

经过 1 天的尝试和阅读电子包装器的文档后,我找到了答案。使用 electron-packager 打包时,将package.jsondevDependencies中的改为。那是因为 electron-packager 查找依赖项而不是 devDependencies。dependencies

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

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

于 2019-04-30T11:20:08.627 回答