2017-09-02 97 views
0

我跟蹤了一些視頻教程(如this onethis one),它們使用非常相似的代碼,這會引發錯誤。電子 - 無法初始化程序

我的文件:
的package.json

{ 
    "name": "steamcmd-gui", 
    "version": "0.0.1", 
    "author": "avi12", 
    "main": "main.js", 
    "scripts": { 
    "start": "electron ." 
    }, 
    "dependencies": { 
    "electron": "^1.7.5" 
    } 
} 

main.js

const electron = require("electron"); 
const url = require("url"); 
const path = require("path"); 

let win; 

function createWindow() { 
    win = new electron.BrowserWindow(); 
    win.loadURL(url.format({ 
     pathname: path.join(__dirname, "index.html"), 
     protocol: "file", 
     slashes: true 
    }); 
); 

win.on("closed",() => win = null);  

electron.app.on("ready", createWindow); 

electron.app.on("window-all-closed",() => { 
    if (process.platform !== "darwin") { 
     app.quit(); 
    } 
}); 

當試圖執行main.js,調試器拋出:

TypeError: Cannot read property 'on' of undefined 
    at Object.<anonymous> (C:\Users\avi12\OneDrive\Documents\WebStorm\SteamCMD GUI\main.js:18:13) 
    at Module._compile (module.js:570:32) 
    at Object.Module._extensions..js (module.js:579:10) 
    at Module.load (module.js:487:32) 
    at tryModuleLoad (module.js:446:12) 
    at Function.Module._load (module.js:438:3) 
    at Module.runMain (module.js:604:10) 
    at run (bootstrap_node.js:389:7) 
    at startup (bootstrap_node.js:149:9) 
    at bootstrap_node.js:504:3 

這意味着electron.appundefined由於某種原因。
非常感謝您的幫助!

+0

你是如何運行main.js的? –

+0

我使用JetBrains WebStorm編輯我的文件,它有幾個執行選項 - 我選擇Node js並在那裏指定'main.js'。 – avi12

+1

安裝電子,然後使用'電子main.js'運行它@ – PeterMader

回答

0

感謝Fast Snail,誰意識到,我應該使用electron main.js執行我main.js - 我在谷歌擡頭的解決方案,發現this非常好的教程,它解決了我的問題。

問題是我必須指定一些額外的配置才能使用JetBrains WebStorm中的Electron執行我的腳本。
非常感謝!