React + electronjs 实现桌面软件开发引入 electronjs 及 node api
参考:https://www.it1352.com/2061659.html
electronjs中引入 React,以及暴露js的文件,main.js
... function createWindow () { const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true, // 引入暴露文件 preload: path.join(__dirname, "preload.js") } }) // win.loadFile('src/index.html') win.loadURL('http://localhost:5000'); // 控制台 win.webContents.openDevTools() } ...
preload.js
// electronjs 目录下的 preload.js 最底下追加 // load Api 需要什么 api 就引入什么api const loadApi = [ 'electron', // 引入 electron 'fs', ]; loadApi.map((item) => { global[item] = require(item); });
React中调用 preload.js(无需引入文件,直接在window对象获取)文件中暴露的 api
import React,{Component} from 'react'; import { HashRouter as Router, Link, Route } from 'react-router-dom'; import './App.css'; import { Button } from 'element-react'; const Home = () => ( <div> <h2>Home</h2> </div> ) const About = () => ( <div> <h2>About</h2> </div> ) const Product = () => ( <div> <h2>Product</h2> </div> ) // const electron = window.electron class App extends Component { Test(){ } render(){ const { electron } = window.electron; // console.log(window.electron); return ( <Router> <div className="App"> <Link to="/">Home</Link> <Link to="/About">About</Link> <Link to="/Product">Product</Link> <hr/> <Route path="/" exact component={Home}></Route> <Route path="/about" component={About}></Route> <Route path="/product" component={Product}></Route> </div> </Router> ) } } export default App;
博 主 :夏秋初
地 址 :https://www.cnblogs.com/xiaqiuchu/p/12386282.html
如果对你有帮助,可以点一下 推荐 或者 关注 吗?会让我的分享变得更有动力~
转载时请带上原文链接,谢谢。
地 址 :https://www.cnblogs.com/xiaqiuchu/p/12386282.html
如果对你有帮助,可以点一下 推荐 或者 关注 吗?会让我的分享变得更有动力~
转载时请带上原文链接,谢谢。
标签:
React
, electronjs
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义