主进程中使用node模块
//在main.js中引入
const fs = require('fs')
//在主进程中使用node.js
fs.readFile("package.json",(err,data)=>{
if(err){
console.log("err")
}
console.log(data.toString())
})
渲染进程使用node.js
①main.js
const { app, BrowserWindow } = require('electron');
const path = require('path')
let mainWindow = null;
app.on('ready', () => {
mainWindow = new BrowserWindow({
width: 800,
height: 800,
// 在渲染进程中使用node, 需要要配置webPreferences属性
webPreferences: {preload: path.join(__dirname, 'preload.js')}
});
mainWindow.loadFile('index.html'); // 加载网页
mainWindow.on('close', () => {
mainWindow = null;
})
})
preload.js
const fs = require('fs')
fs.readFile("package.json",(err,data)=>{
if(err){
console.log("err")
}
console.log(data.toString())
})
②main.js
const { app, BrowserWindow } = require('electron');
let mainWindow = null;
app.on('ready', () => {
mainWindow = new BrowserWindow({
width: 800,
height: 800,
// 在渲染进程中使用node, 需要要配置webPreferences属性
webPreferences: {
nodeIntegration: true,
contextIsolation: false //Electron 12.0以上版本需要的额外设置此项}
});
mainWindow.loadFile('index.html'); // 加载网页
mainWindow.on('close', () => {
mainWindow = null;
})
})
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'">
<title>Hello World!</title>
</head>
<body>
<h1>Hello World!</h1>
We are using Node.js <span id="node-version"></span>,
Chromium <span id="chrome-version"></span>,
and Electron <span id="electron-version"></span>.
<!-- You can also require other files to run in this process -->
<script src="renderer.js"></script>
</body>
</html>
renderer.js
const fs = require('fs')
window.onload = function () {
fs.readFile("package.json",(err,data)=>{
if(err){
console.log("err")
}
console.log(data.toString())
})
}