electron使用動態配置文件及持久化存儲


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" // 圖標名稱
    }
  }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM