一些初始化问题
渲染进程使用node.js 模块
const mainWindow = new BrowserWindow({
width: 600,
height: 400,
icon: 'icon.ico',
webPreferences: {
nodeIntegration: true, //允许渲染进程使用nodejs
contextIsolation: false //允许渲染进程使用nodejs
}
});
中文乱码解决
在package.json中的启动脚本中添加 chcp 65001
"scripts": {
"start": "chcp 65001 && electron .",
"test": "echo \"Error: no test specified\" && exit 1"
},
使用remote
remote可以用于主线程,渲染线程通讯,渲染线程创建窗口等操作,使的渲染线程可以调用主线程方法
高版本的remote被独立成第三方包,使用需要单独引入
npm install --save @electron/remote
主线程中配置
const remote = require('@electron/remote/main');
remote.initialize()
const mainWindow = new BrowserWindow({
width: 600,
height: 400,
icon: 'icon.ico',
webPreferences: {
nodeIntegration: true, //允许渲染进程使用nodejs
contextIsolation: false //允许渲染进程使用nodejs
}
});
remote.enable(mainWindow.webContents);
窗口参数
获取屏幕大小
const {screen} = require("electron");
let screenWidth = screen.getPrimaryDisplay().workAreaSize.width;
let screenHeight = screen.getPrimaryDisplay().workAreaSize.height;
设置窗口位置
const mainWindow = new BrowserWindow({
width: 600,
height: 400,
icon: 'icon.ico',
webPreferences: {
nodeIntegration: true, //允许渲染进程使用nodejs
contextIsolation: false //允许渲染进程使用nodejs
}
});
mainWindow.setPostion(x,y)