我已经建立了一个电子应用程序。文件夹结构如下,
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中的函数不起作用。 如何解决这个问题?
答案 0 :(得分:0)
尝试在捆绑应用的菜单中临时启用devtools,并查看网络或控制台部分是否有错误。
答案 1 :(得分:0)
尝试加载您的脚本:
<script>
require('../js/script.js');
</script>
答案 2 :(得分:0)
尝试并阅读了电子包装机文档1天后,我找到了答案。使用电子打包程序打包时,请在 package.json 中将 devDependencies
更改为 dependencies
。这是因为电子包装程序会查找依赖项而不是devDependencies。
因此,在尝试打包应用程序之前,请先将devDependencies重命名为依赖项,或 npm install package_name --save
。
**注意:在使用电子包装程序进行包装时,请勿使用--save-dev
,因为-dev
将使依赖关系发展为依赖关系。