开发环境
node v22.14.0
npm 10.9.2
创建目录win-master
进入当前目录npm init
修改生成的pachage.json补充author和description内容
const { app, BrowserWindow } = require('electron/main')
const createWindow = () => {
const win = new BrowserWindow({
width: 800,
height: 600,
autoHideMenuBar: true
})
win.loadFile('index.html') //加载本地文件
//win.loadURL('http://') //加载url
app.whenReady().then(() => {
createWindow()
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
}
})
app.setLoginItemSettings({openAtLogin:true}) //开机启动
})
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
创建index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<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'"
/>
<title>标题</title>
<meta http-equiv="refresh" content="0;url=http://plugin.deepbit.cn">
</head>
<body>
<h1>加载中...</h1>
</body>
</html>
执行 npm install electron --save-dev 安装electron如果执行慢参考http://qa.anyline.org/v/2b_15281
添加配置项启动脚本
"scripts": {
"start": "electron ."}
启动npm start
生成安装文件
npm install electron-builder -D
配置项scripts中添加"build":"electron-builder"
外层添加buil,完整的package.json
{
"name": "win-master",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"start": "electron .",
"build":"electron-builder"
},
"build":{
"appId":"cn.deepbit.plugin",
"win":{
"icon":"./logo.ico",
"target":[
{
"target":"nsis",
"arch":["x64"]
}
]
},
"nsis":{
"oneClick":false,
"perMachine":true,
"allowToChangeInstallationDirectory":true
}
},
"author": "anyline",
"license": "ISC",
"description": "插件平台",
"devDependencies": {
"electron": "^35.1.4"
}
}
执行npm run build