1***@qq.com
1***@qq.com
  • 发布:2019-12-30 22:01
  • 更新:2022-10-16 18:12
  • 阅读:4662

uniapp兼容electron踩坑

分类:uni-app

1、环境
electron 7.1.7
electron-package 14.1.1

2、修改
①package.json:
electron打包命令修改
"electron":"electron main.js"

②mainfest.json:
index.html页面里静态资源路径
"h5": {
"template": "index.html",
"publicPath":"./"
}

③uniapp源码修改
1)底部tabbar路径修改
node_modules/@dcloudio/uni-h5/dist/index.umd.min.js
_getRealPath方法修改:

_getRealPath: function (t) {  
                            return 0 !== t.indexOf("/") && (t = "/" + t), Object(i["a"])(t)  
                        }

修改成

_getRealPath: function (t) {  
                            return 0 !== t.indexOf("/") && (t = t), Object(i["a"])(t)  
                        }

2)静态资源路径修改
在vue.config.js里修改
(尝试了方案,没有起作用,和官网说的不一样啊)

④关于electron配置
1)出现不可引用本地资源错误:
在main.js添加配置
webPreferences: {
webSecurity: false
}
同时静态资源不要放在dist目录;

2)出现打包错误
package.json里添加入口配置
"main": "main.js",

3) 打包完成后,应用打开乱码,或者js报错
是electron-pakcage问题,尝试多打包几次就好

4)应用静态资源要加http(s)头,否则是按本地资源加载,会把错
5)使用electron-package打包,使用命令行不够灵活
可以使用js脚本,引入electron-package进行打包,更加灵活

6)关于electron API
①document.location.protocol 结果是 file:

1 关注 分享
l***@163.com

要回复文章请先登录注册

chinahappybeer

chinahappybeer

回复 DCloud_heavensoft :
vue怎么调用electron的api
2022-10-16 18:12
DCloud_heavensoft

DCloud_heavensoft

回复 1***@qq.com :
和标准vue写法一样,就是自定义webpack插件
2020-01-03 01:51
1***@qq.com

1***@qq.com (作者)

回复 DCloud_heavensoft :
请问有示例代码吗?
2019-12-31 11:44
DCloud_heavensoft

DCloud_heavensoft

回复 1***@qq.com :
vue.config.js里可以改
2019-12-30 23:07
1***@qq.com

1***@qq.com (作者)

希望官方,添加修改 static 目录配置,我看源码里是写死的根目录 "/",导致我没法改路径,在mainfest.json里配置了router.base后,是生效了,但是图片路径是 "/./1.jpg", 很尴尬。。。
2019-12-30 22:20