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
如果对你有帮助,可以点一下 推荐 或者 关注 吗?会让我的分享变得更有动力~
转载时请带上原文链接,谢谢。

浙公网安备 33010602011771号