2017-07-20 65 views
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> 

當我使用電子包裝機建立的包,構建成功。但是,當我運行應用程序時,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中的函數不起作用。 如何解決此問題?

更新3 我找到了答案後第1天的努力和閱讀電子打包的文件。使用電子打包程序進行打包時,請將package.json中的devDependencies更改爲依賴項。這是因爲electron-packager尋找依賴而不是devDependencies。

因此,在嘗試打包應用程序之前,要麼將devDependencies重命名爲依賴項,要麼將npm install package_name --save重命名。

**注意:使用electron-packager進行打包時,不要使用--save-dev,因爲-dev會使依賴關係成爲依賴關係。

+0

也許告訴我們什麼是'script.js'文件裏面? – Erazihel

+1

我已經顯示script.js內的一些代碼 – bigbounty

+0

你是否使用Webpack?你有沒有嘗試[電子重建](https://github.com/electron/electron-rebuild)?我只提到,因爲在打包應用程序時可能不會捆綁依賴關係。 –

回答

0

嘗試在捆綁應用程序的菜單中暫時啓用devtools,並查看網絡或控制檯部分是否有錯誤。

0

嘗試加載你的腳本是這樣的:

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