Electron中文官网地址:https://www.electronjs.org/zh/docs/latest/
Electron下载如果单纯使用npm的话,会出现n多问题
所以建议使用国内的淘宝镜像
npm config set registry https://registry.npmmirror.com/
然后下载
cnpm install --save-dev electron
下载完成后package.json文件出现以下依赖,成功
在package.json文件中增加一行
"homepage":"./",
否则打包之后的index.html文件打开为空白
运行命令
npm run build
项目中出现build文件夹
确定打包后的文件是否能够正常运行
全局安装 serve
npm i serve -g
然后运行build文件
serve build
将原来的项目关掉,使用其他工具打开刚刚生成的build文件夹
当然也可以选择不单独打开build文件夹,但是要把终端中的路径改为build下的
运行命令
npm init
会出现一些选项,按照自己的需求来填就行
其中
license这个选项windows用户填 MIT ,其他的系统要上网查
main 选项填 main.js
然后就会出现,package.json文件夹
在build根目录创建这两个文件
main.js
const { app, BrowserWindow } = require('electron')
const path = require('path')
console.log("hello")function createWindow () {const win = new BrowserWindow({width: 800,height: 600,webPreferences: {preload: path.join(__dirname, 'preload.js')}})win.loadFile('index.html')
}app.whenReady().then(() => {createWindow()app.on('activate', () => {if (BrowserWindow.getAllWindows().length === 0) {createWindow()}})
})app.on('window-all-closed', () => {if (process.platform !== 'darwin') {app.quit()}
})
preload.js
window.addEventListener('DOMContentLoaded', () => {const replaceText = (selector, text) => {const element = document.getElementById(selector)if (element) element.innerText = text}for (const type of ['chrome', 'node', 'electron']) {replaceText(`${type}-version`, process.versions[type])}})
运行命令下载脚手架
cnpm install --save-dev @electron-forge/cli
进行设置
npx electron-forge import
但是,设置这一步基本都会出错,所以我们使用以下方式进行:
1、设置npm electron默认安装路径的环境变量
npm config set ELECTRON_MIRROR http://npmmirror.com/mirrors/electron/
2、修改package.json文件
{"name": "electron-react",//用自己的"version": "1.0.0",//用自己的"description": "electron-test",//用自己的"main": "main.js",//用自己的"scripts": {"start": "electron-forge start",//加上"package": "electron-forge package",//加上"make": "electron-forge make",//加上"e-start": "electron ."//加上},"keywords": ["123456"],"author": "gk","license": "MIT","devDependencies": {"@electron-forge/cli": "^6.0.4",//版本号根据自己下载的electron-forge/cli版本号来,下面的版本号都跟这个相同"@electron-forge/maker-deb": "^6.0.4",//版本号跟@electron-forge/cli同 加上"@electron-forge/maker-rpm": "^6.0.4",//版本号跟@electron-forge/cli同 加上"@electron-forge/maker-squirrel": "^6.0.4",//版本号跟@electron-forge/cli同 加上"@electron-forge/maker-zip": "^6.0.4",//版本号跟@electron-forge/cli同 加上"electron": "^22.0.0"//用自己的},"dependencies": {"electron-squirrel-startup": "^1.0.0"//加上},//以下的全部加上"config": {"forge": {"packagerConfig": {},"makers": [{"name": "@electron-forge/maker-squirrel","config": {"name": "electron_demo"}},{"name": "@electron-forge/maker-zip","platforms": ["darwin"]},{"name": "@electron-forge/maker-deb","config": {}},{"name": "@electron-forge/maker-rpm","config": {}}]}}
}
3、下载依赖
运行命令
cnpm install 或者 npm install
//npm install可能会下载失败
运行命令
npm run make
这里会有点久,需要耐心等待
在打包完成之后,会在build文件夹下生成out文件夹
打开out文件夹
运行exe文件,即可