electron例子 | 文件读写
上图:
index.js
const {app, BrowserWindow, ipcMain } = require('electron');
const path = require('path');
const fs = require('fs')
app.on("ready",() => {
const mainWindow = new BrowserWindow({
width: 800,
height: 600,
resizable: true,
frame: true,
show: true,
backgroundColor: 'pink',
webPreferences: {
nodeIntegration: true,
// 开启node
contextIsolation: false,
// 开启remote
enableRemoteModule:true
}
});
mainWindow.loadFile("index.html")
//打开控制面板
mainWindow.webContents.openDevTools();
ipcMain.on('asynchronous-message', function(event, arg) {
// arg是从渲染进程返回来的数据
fs.writeFile(path.join(__dirname, "data.json"),JSON.stringify(arg), "utf8",(err)=>{
if(err){
console.log("写入失败")
}else {
console.log("写入成功")
}
})
});
});
app.on("window-all-closed",() => {
if(process.platform !== "darwin") {
app.quit()
}
})
renderer.js
// 渲染进程
const ipcRenderer = require("electron").ipcRenderer;
// 这里的会传递回给主进程,这里的第一个参数需要对应着主进程里on注册事件的名字一致
ipcRenderer.send("asynchronous-message", "传递回去ping");
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <button id="btn">同步发送消息</button> </body> <script type="text/javascript" src="./renderer.js"></script> </html>
分类:
Electron.js
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2021-01-07 程序退出时中断在void Release() throw()函数处
2021-01-07 模态对话框与非模态对话框的销毁