设置权限
在main.js的webPreferences中加入两行配置
const mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration : true,
contextIsolation: false ,
preload: path.join(__dirname, 'preload.js')
}
})
设置页面中的安全配置
在WEB页面的安全性配置里面改动2处:
改动前:
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'">
<meta http-equiv="X-Content-Security-Policy" content="default-src 'self'; script-src 'self'">
改动后:
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; ;script-src * 'unsafe-inline'">
<meta http-equiv="X-Content-Security-Policy" content="default-src 'self'; script-src * 'unsafe-inline'">
在页面中调用node.js的功能函数
<!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 * 'unsafe-inline'">
<meta http-equiv="X-Content-Security-Policy" content="default-src 'self'; script-src * 'unsafe-inline'">
<title>Hello World!</title>
</head>
<body>
<h1 οnclick="btnAc()">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>
<script>
var fs = require('fs');
function btnAc(){
var fs = require('fs');
fs.readFile('package.json' , (er,data)=>{
console.log(er , data.toString())
})
}
</script>
</body>
</html>