【问题标题】:Can not open my BrowserWindow with electron?不能用电子打开我的浏览器窗口?
【发布时间】:2018-07-28 04:49:15
【问题描述】:

我是 Electron 的新手,我按照文档使用电子创建了我的第一个 hello world 应用程序,但是我遇到了这个错误:

> tofita@1.0.0 start C:\Users\user\Desktop\Electron\elc
> electron .


App threw an error during load
Error: Cannot create BrowserWindow before app is ready
at createWindow (C:\Users\user\Desktop\Electron\elc\main.js:10:11)
at Object.<anonymous> (C:\Users\user\Desktop\Electron\elc\main.js:23:16)
at Object.<anonymous> (C:\Users\user\Desktop\Electron\elc\main.js:41:3)
at Module._compile (module.js:569:30)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at loadApplicationPackage(C:\Users\user\Desktop\Electron\elc\node_modules\electron\dist\resources\default_app.asar\main.js:287:12)
at Object.<anonymous> (C:\Users\user\Desktop\Electron\elc\node_modules\electron\dist\resources\default_app.asar\main.js:329:5)

还有一个弹出窗口告诉我同样的事情,我不知道如何解决问题。

这是我的 main.js 文件:

const { app, BrowserWindow } = require('electron')
const path = require('path')
const url = require('url')

let win;

function createWindow() {
  win = new BrowserWindow({width:200,height:300});
  win.loadURL(url.format({
    pathname: path.join(__dirname,'index.html'),
    protocol: 'file:',
    slashes: true
  }));
win.webContents.openDevTools();

win.on('closed',()=>{
      win=null;
 })
}

app.on('ready',createWindow())

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


 app.on('activate', () => {
    if (win === null) {
      createWindow()
      }
    })

这是我的 html 代码:

<!DOCTYPE html>
<html lang="en">
   <head>
     <meta charset="UTF-8">
     <title>Electron Quick Start</title>
   </head>
 <body>
   <h1>Hello World</h1>
 </body>
</html>

还有我的 package.json 文件:

{
"name": "tofita",
"version": "1.0.0",
"description": "tofita",
"main": "main.js",
"scripts": {
    "start": "electron ."
},
"author": "Tofita",
"license": "ISC",
  "dependencies": {
    "electron": "^1.8.2"
  }
}

执行“npm start”命令后出现错误。

我希望我的问题得到很好的解释,任何帮助将不胜感激。

【问题讨论】:

    标签: javascript html electron


    【解决方案1】:

    您正在执行 createWindow 函数,您必须将其作为引用传递,而不是调用该函数

    app.on("ready", ..... )
    

    这样做

    app.on("ready", createWindow);
    

    【讨论】:

    • 对!工作!非常感谢先生!赞成您的答案,并将其标记为真实!祝你有美好的一天。
    【解决方案2】:

    使用这个

    app.whenReady().then(createWindow);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-18
      • 2020-05-11
      • 2018-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-29
      • 2019-02-05
      相关资源
      最近更新 更多