[英]Electron window shows a screenshot of the screen
所以我有一个名为main.js
的电子应用程序,我从npm start
。 我已经将package.json中的启动脚本设置为electron main.js
,还尝试了electron .
。 当运行npm start
,一切都开始,没有任何错误,但是电子窗口仅显示我启动时屏幕上的快照。 我尝试刷新它,但似乎没有任何效果。 它的外观如下: Image它应该查看localhost:3001
但不是。 我也尝试过使用electron .
直接在终端上,但是给了我electron: command not found
。 当运行./node_modules/electron/dist/electron .
它会按预期启动,但会出现相同的问题。 这是main.js
:
const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
const core = require('./app');
let mainWindow
function createWindow() {
mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: { webSecurity: false },
nodeIntegration: false,
})
mainWindow.loadURL('http://localhost:3001');
// mainWindow.setFullScreen(true)
// mainWindow.setMenu(null);
mainWindow.webContents.openDevTools()
mainWindow.on('closed', function () {
mainWindow = null
})
console.log('Electron window ready')
}
app.on('ready', createWindow)
app.on('window-all-closed', function () {
app.quit()
})
core.start()
似乎您没有全局安装Electron,因为您需要运行npm install -g Electron
替换mainWindow.loadURL('http://localhost:3001');
附:
mainWindow.loadURL(
url.format({
pathname: path.join(__dirname, "index.html"),
protocol: "file:",
slashes: true
})
);
您尚未共享package.json
文件,但我想您可能没有运行npm install --save electron
在终端中保存npm install --save electron
。
另外,代替:
const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
您想这样写:
const electron = require('electron');
const { app, BrowserWindow } = electron;
我将回顾一下ES6的销毁工作,除非您不与我们共享代码,否则应通过确保app
对象已准备就绪并加载文件来启动电子项目,如下所示:
let mainWindow;
app.on('ready', () => {
mainWindow = new BrowserWindow({});
mainWindow.loadURL(`file://${__dirname}/main.html`);
});
您会注意到我声明了一个空的mainWindow
变量,以解决可能遇到的范围问题,因为您可能还必须在其他函数中使用mainWindow
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.