
electronJS 开发linux App
发布日期:2021-05-15 02:52:36
浏览次数:8
分类:精选文章
本文共 3946 字,大约阅读时间需要 13 分钟。
Electron.js ������������
Electron.js ���������������������
Electron.js ��������������� Node.js ��������������������������������������������������������������������������������������������� JavaScript���HTML ��� CSS ������������������������������������������������������������������������������������������������������������������������������������������������������������������Hello, World!��������������������������������������������� Megabytes������������ Electron.js ������������������������������������������������������������������������������������������
Electron.js ��������������� Windows���macOS���Linux ��� Android ��������������������������������������� Electron ���������������������������������������������������������������������������������������������������������������������������������������# ������������$ git clone https://github.com/electron/electron-quick-start#������������$ cd electron-quick-start#������������$ npm install# ������������$ npm start
���������������������������������������
Electron.js ���������������������������������������������Main Process���������������������Renderer Process������������������������������������������������������������������������������������������������������������������������������������ Node.js ������������������������������������������������������ V8 ���������������������������������������������
������������������������������������ IPC���Inter-Process Communication���������������������������������������������������������������// ������������main.js���const { ipcMain } = require('electron');function createWindow () { const mainWindow = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true, preload: path.join(__dirname, 'preload.js') } }); mainWindow.removeMenu(); mainWindow.loadFile('index.html'); mainWindow.webContents.openDevTools(); ipcMain.on('asynchronous-message', (event, arg) => { console.log(arg); event.sender.send('asynchronous-reply', 'async pong'); }); ipcMain.on('synchronous-message', (event, arg) => { console.log(arg); event.returnValue = 'sync pong'; }); mainWindow.on('closed', () => { mainWindow = null; });}app.on('ready', createWindow);app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit(); }});app.on('activate', () => { if (mainWindow === null) { createWindow(); }});
//���������������render.js���const { ipcRenderer } = require('electron');console.log(ipcRenderer.sendSync('synchronous-message', 'sync ping'));ipcRenderer.on('asynchronous-reply', (event, arg) => { console.log(arg);});ipcRenderer.send('asynchronous-message', 'async ping');
���������������������������
���������������������������������������������������������������������������������������������������������������������������������mainWindow.webContents.on('did-finish-load', () => { mainWindow.webContents.send('asynchronous-message', 'Hello');});
���������
setInterval(() => { mainWindow.webContents.send('asynchronous-message', 'Hello');}, 1000);
������ WebSocket
������������������������������������Electron.js ��������� WebSocket���������������������������main.js
const { ipcMain, WebSocket } = require('electron');// ������������...let electron.ws = new WebSocket('ws://localhost:8000');electron.ws.onmessage = (event) => { console.log('������������������������������', event.data);};
render.js
const { ipcRenderer, WebSocket } = require('electron');const ws = new WebSocket('ws://localhost:8000');ws.onmessage = (event) => { console.log('���������������������������', event.data);};// ������������setInterval(() => { ws.send('ping');}, 2000);
������
��������������������������������������������� Electron.js ��������������������������������������������� ��������������������� ������������ ��������������������������������������������������������� Electron.js ���������������发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年05月03日 22时40分38秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
linux 查看log日志相关命令
2021-05-14
IDEA 2019 安装 mybatis-plus插件
2021-05-14
div 实现光标悬停变成手型
2021-05-14
layer.confirm 无效
2021-05-14
Java 回调机制
2021-05-14
7、回归和特征选择
2021-05-14
pycharm使用(新建工程、字体修改、调试)
2021-05-14
什么是Numpy、Numpy教程
2021-05-14
Python学习笔记——元组
2021-05-14
异常声音检测
2021-05-14
PCB学习笔记——AD17如何添加新的封装
2021-05-14
numpy版本问题
2021-05-14
无法打开文件“opencv_world330d.lib”的解决办法
2021-05-14
maven项目通过Eclipse上传到svn上面,再导入到本地出现指定的类找不到的问题
2021-05-14
maven 项目部署到tomcat下 没有class文件
2021-05-14
算法训练 未名湖边的烦恼(递归,递推)
2021-05-14
算法训练 完数(循环,数学知识)
2021-05-14