无法读取电子javascript中未定义的属性“ on”

Sha*_*hid 6 javascript electron

我试图运行此代码,但每次收到此错误消息时。首先,我在npm全球安装。然后我将其安装在我的应用程序中,但仍然出现相同的错误。

Uncaught TypeError:无法读取对象上未定义的属性“ on”。(H:\ electric \ main.js:12:4)在对象处。(H:\ electric \ main.js:63:3)在Module._compile(module.js:571:32)在Object.Module._extensions..js(module.js:580:10)在Module.load(在try.ModuleLoad(module.js:447:12)在function.Module._load(module.js:439:3)在module.require(module.js:498:17)在require(在internal / module.js:20:19),位于文件:/// H:/electric/views/login.html:2:3

const electron = require('electron');
const {Menu} = require('electron');
const {app} = require('electron');
const {BrowserWindow} = require('electron');
const conn = require('mysql');
const path = require('path');
const url = require('url');

// const app = electron.app;
// const BrowserWindow = electron.BrowserWindow;
var mainWindow = null;
app.on('ready', function () {
    mainWindow = new BrowserWindow({ width: 1024, height: 768, backgroundcolor: '#2e2c29' });
    mainWindow.loadURL(url.format({
        pathname: 'popupcheck.html',
        protocol: 'file:',
        slashes: true
    }));enter code here
    mainWindow.webContents.openDevTools();
    mainWindow.setProgressBar(1);
});`][1]
Run Code Online (Sandbox Code Playgroud)

Moo*_*Moo 7

我猜您正在尝试使用节点运行电子。您的package.json看起来像这样吗?

{
    "scripts": {
        "start": "node main.js"
    }
}
Run Code Online (Sandbox Code Playgroud)

请像这样运行电子应用程序

{
    "scripts": {
        "start": "electron ."
    }
}
Run Code Online (Sandbox Code Playgroud)

它应该工作

注意:对于像这样的命令将电子安装到全局的人来说,这是额外的

npm install -g electron
Run Code Online (Sandbox Code Playgroud)

当您想在代码require(electron)中使用电子时, 应使用此命令将全局路径链接到当前目录

npm link electron
Run Code Online (Sandbox Code Playgroud)


小智 -1

如果您尚未安装,请尝试删除此旧软件包并安装此软件包:

git clone https://github.com/electron/electron-quick-start
cd electron-quick-start
npm install
npm start
Run Code Online (Sandbox Code Playgroud)

如果您遇到同样的错误,请自行修复:

const electron = require('electron');
const app = require('app');
const BrowserWindow = require('browser-window')
Run Code Online (Sandbox Code Playgroud)