1.如何在打包之后,把动态配置文件比如【config.json】放在根目录,不被打包到asar文件中

//解决思路,electron可以拷贝静态资源,比如你把config.json放在项目的根目录下,打包时候打包到EXE根目录下即可。
"build": {
"productName": "machine-electron-project",
"appId": "com.example.yourapp",
"extraResources": {
"from": "./config.json",
"to": "../"
}
}
//当然如果你想把配置文件放在其他地方也是可以的,在vue中使用 fs.readFile也能读取到,比如config.json文件在d盘下,你可以把文件路径写成'd:\config.json'

2.electron使用持久化存储electron-store,在主进程中使用app.getPath('userData')是没问题的,但是在渲染进程中使用是undifind

//渲染进程使用主进程的方法使用remote
const { app,remote } = require('electron')
//持久化存储
const Store = require('electron-store');
function initStore(){
let option={
name:"userInfo",//文件名称,默认 config
fileExtension:"json",//文件后缀,默认json
cwd:remote.app.getPath('userData'),//文件位置,尽量不要动
// encryptionKey:"aes-256-cbc" ,//对配置文件进行加密
clearInvalidConfig:true, // 发生 SyntaxError 则清空配置,
}
Vue.prototype.$electronStore = new Store(option);
}
export default {
initStore
}

3.下面关于electron-vue打包时的配置

{
"name": "demo",
"version": "0.0.2",
"author": "<1392293229@qq.com>",
"build": { // electron-builder配置
"productName":"xxxx",//项目名 这也是生成的exe文件的前缀名
"appId": "xxxxx",//包名
"copyright":"xxxx",//版权 信息
"compression": "store", // "store" | "normal"| "maximum" 打包压缩情况(store 相对较快),store 39749kb, maximum 39186kb
"directories": {
"output": "build" // 输出文件夹
},
"asar": false, // asar打包
"extraResources": { // 拷贝dll等静态文件到指定位置
"from": "./app-update.yml",
"to": "./b.txt"
},
"win": {
"icon": "xxx/icon.ico"//图标路径,
"extraResources": { // 拷贝dll等静态文件到指定位置(用于某个系统配置)
"from": "./app-update.yml",
"to": "./b.txt"
}
},
"nsis": {
"oneClick": false, // 一键安装
"guid": "xxxx", //注册表名字,不推荐修改
"perMachine": true, // 是否开启安装时权限限制(此电脑或当前用户)
"allowElevation": true, // 允许请求提升。 如果为false,则用户必须使用提升的权限重新启动安装程序。
"allowToChangeInstallationDirectory": true, // 允许修改安装目录
"installerIcon": "./build/icons/aaa.ico", // 安装图标
"uninstallerIcon": "./build/icons/bbb.ico", //卸载图标
"installerHeaderIcon": "./build/icons/aaa.ico", // 安装时头部图标
"createDesktopShortcut": true, // 创建桌面图标
"createStartMenuShortcut": true, // 创建开始菜单图标
"shortcutName": "xxxx" // 图标名称
}
}
}

最新文章

  1. mysql集群(双主)
  2. 变通实现微服务的per request以提高IO效率(三)
  3. touches, targetTouches, changedTouches 区别
  4. docker-compose安装使用
  5. POJ2965The Pilots Brothers&#39; refrigerator(枚举+DFS)
  6. Shell脚本编程初体验
  7. jQuery实现的简单文字提示效果模拟title(转)
  8. SpringMVC控制器设值原理分析(ModelAndView的值通过HttpServletRequest直接取到的原因)
  9. HTTP协议状态码详解
  10. react服务端/客户端,同构代码心得
  11. 第三章 用SDK编译出第一个在Linux下的软件界面
  12. HTML5 Canvas 颜色填充学习
  13. java数据结构-非线性结构之树
  14. codeforces 589F. Gourmet and Banquet 二分+网络流
  15. PHP 学习笔记(2)
  16. js 动态 key value
  17. Django在form提交CSRF验证失败. 相应中断问题
  18. Ubuntu 无界面使用selenium chrome + headless
  19. C++的重载操作符(operator)介绍(转)
  20. 根据CPU核心数确定线程池并发线程数

热门文章

  1. 静态库动态库的编译、链接, binutils工具集, 代码段\数据段\bss段解释
  2. 零基础学习java------day12------数组高级(选择排序,冒泡排序,二分查找),API(Arrays工具类,包装类,BigInteger等数据类型,Math包)
  3. Express中间件原理详解
  4. C++一元多项式求导
  5. 转 关于HttpClient,HttpURLConnection,OkHttp的用法
  6. 【排序算法】——冒泡排序、选择排序、插入排序、Shell排序等排序原理及Java实现
  7. Ajax请求($.ajax()为例)中data属性传参数的形式
  8. JSP中声明变量、方法
  9. [MySQL实战-Mysql基础篇]-mysql架构
  10. CF190C STL 题解