未捕获的TypeError:无法读取未定义的属性“on”。我也尝试重新安装电子

时间:2017-10-30 07:30:16

标签: javascript electron

我无法删除提及的错误:

  

未捕获的TypeError:无法读取未定义的属性

我也尝试重新安装电子,但仍然遇到同样的错误。

 const electron = require('electron');
 const {BrowserWindow, Menu} = require('electron');
 var app = electron.app;
 const conn = require('mysql');
 const path = require('path');
 const url = require('url');
 var mainWindow;
 app.on('ready', function () {
     mainWindow = new BrowserWindow({ width: 1024, height: 768, 
     backgroundcolor: 'black' });
        mainWindow.loadURL(url.format({
            pathname: 'dashboard.html',
            protocol: 'file:',
            slashes: true
       }));
     mainWindow.webContents.openDevTools();
     mainWindow.setProgressBar(1);
});

1 个答案:

答案 0 :(得分:-2)

  

" TypeError:无法读取属性' on'未定义"   这意味着' app'物体没有从“电子”中正确加载。模块和' app.on()'在第8行的方法中,它被调用在未定义的对象' app'。

请尝试这些可能的解决方案。

  1. 替换

    const electron = require('electron');
    const {BrowserWindow, Menu} = require('electron');
    var app = electron.app;
    

    var app = require('electron').app;
    const {BrowserWindow, Menu} = require('electron');
    
  2. 在Package.json文件中编辑/添加此行,指定应用程序的起始点。

     "script":{"start": "electron ."}
    
  3. 编辑:

    可能是您的系统(全局)安装了npm电子模块,它会覆盖内置电子模块。您可以通过退出

    找出它的路径
     require.resolve('electron').