uniapp + electron 打包项目

参考文献

1、控制台安装electron和electron打包工具electron-packager

javascript 复制代码
npm install electron -g
npm install electron-packager -g

2、manifest.json修改

运行的基础路径修改为:./ 不然打包出来会出现白屏,读取不到,因为打包出来的h5默认加载地址为/static/

去掉启用https协议: 不然会出现网络无法加载,去掉https不影响你请求后端的https协议。(这个可加可不加,主要是看后台有没有配置白名单这种的,影响不大)

3.h5正常打包,打包后再h5文件夹下新建 package.json和main.js文件

main.js也可以改成其他的js名称,但是package.json里面的 {main:其他.js}记得改

注意: build 文件 的根目录要注意,如果项目没打包过app端,则会再最外层App.vue同级生成/dist/build/h5 文件,如果之前有打包过app端的,则是多一层 unpackage/dist/build/h5

package.json 内容

我的应用---》对应之前设置的web配置的页面标题,我的是 judarhr_content_distribution

javascript 复制代码
{
	"name":"我的应用",
	"version":"2.0",
	"main":"main.js",
	"scripts":{
		"test":"echo \"Error: no test specified\" && exit 1",
		"electron":"electron .",
		"start":"electron .",
		"build":"electron-packager ./ 我的应用 --plantform=win32 --arch=x64 --out 我的应用 --overwrite --icon=xdt.ico"
	},
	"author":"",
	"license":"ISC",
	"devDependencies":{
		"electron":"^23.3.13",
		"electron-packager":"^12.2.0"
	}
}

main.js

javascript 复制代码
const {app, BrowserWindow} = require('electron')
const path = require('path')
const url = require('url')

let win
 
function createWindow () {
  win = new BrowserWindow({
	  width: 700, 
	  height: 400,
	  icon:'./static/logo.png', //
	  autoHideMenuBar:true,//隐藏菜单栏
	})
 //加载本地文件 index.html
  win.loadURL(url.format({
    pathname: path.join(__dirname, 'index.html'),
    protocol: 'file:',
    slashes: true
  }))
 //打开控制器
 win.webContents.openDevTools();

  //点击关闭的时候, win 一定要释放掉
  win.on('closed', () => {
    win = null
  })
}
//加载窗体
app.on('ready', createWindow)
 
 //IOS 关闭页面(ios比较特殊win.on('closed')只是关闭显示窗口,但是后台还是会存在,更像是隐藏窗体,所以需要这种判断方式推出)
app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit()
  }
})
 
app.on('activate', () => {
  
  if (win === null) {
    createWindow()
  }
})

如果你的网页首页的文件名不是 "index.html",那么请在 main.js 中将其中的 'index.html' 修改为你的网页首页名。

4、打包

\dist\build\h5文件夹处执行打包命令

javascript 复制代码
npm run build

5、运行

javascript 复制代码
npm run start

关闭窗口则整个electron 关闭,得重新运行

6、进入调试模式

第一种:ctrl+shift+i

第二种:main.js配置 win.webContents.openDevTools();

相关推荐
2501_915921433 小时前
iOS App 电耗管理 通过系统电池记录、Xcode Instruments 与克魔(KeyMob)组合使用
android·ios·小程序·https·uni-app·iphone·webview
岳哥i4 小时前
vue鼠标单机复制文本
javascript
寒季6664 小时前
Electron 实战:构建跨平台桌面端 Markdown 编辑器(含实时预览、文件操作、快捷键)
华为·electron·harmonyos
幻云20104 小时前
Python深度学习:从筑基到登仙
前端·javascript·vue.js·人工智能·python
我即将远走丶或许也能高飞6 小时前
vuex 和 pinia 的学习使用
开发语言·前端·javascript
爱吃泡芙的小白白6 小时前
Vue 3 核心原理与实战:从响应式到企业级应用
前端·javascript·vue.js
码上成长7 小时前
JavaScript 数组合并性能优化:扩展运算符 vs concat vs 循环 push
开发语言·javascript·ecmascript
油丶酸萝卜别吃7 小时前
Mapbox GL JS 表达式 (expression) 条件样式设置 完全指南
开发语言·javascript·ecmascript
摘星编程8 小时前
用React Native开发OpenHarmony应用:timing定时动画参数
javascript·react native·react.js
JosieBook9 小时前
【Vue】12 Vue技术—— Vue 事件修饰符详解:掌握事件处理的高级技巧
前端·javascript·vue.js