vue+electron踩坑吐血整理

1.報錯: 'cannot use import statement outside a module'

以上錯誤來看node不支持ES6的import寫法,所以目的是想如何將ES6轉(zhuǎn)換成ES5, 我們只需執(zhí)行下圖的 命令2而非命令1,vue-cli-serve 腳手架會提前編譯ES6

1.png

2. Tray配置的托盤圖標(biāo)不顯示問題

    let iconPath = path.join(__static, 'images/logo.png');
    appTray = new Tray(iconPath);

問題描述:開發(fā)環(huán)境圖標(biāo)正常,打包出來的托盤圖標(biāo)不顯示
問題分析:說明打包出來的圖標(biāo)未找到路徑,因此__static是關(guān)鍵,具體它指向哪個文件夾?

2.png

問題解決:從上圖可以看出__static始終指向public文件夾,因此我們可以把圖標(biāo)放在根目錄public文件夾下即可
4.png

3. 報錯:'Object has been destroyed'

3.png

問題描述:點擊任務(wù)欄下關(guān)閉窗口進(jìn)行窗口隱藏,嘗試了以下兩種方式,報錯誤'Object has been destroyed'

//錯誤調(diào)用
  win.on('closed', () => {
    win.hide();
  });

app.on('window-all-closed', (e) => {
  if (process.platform !== 'darwin') {
    win.hide();
  }
});

問題分析:在closed和window-all-closed事件中,此時窗口已經(jīng)關(guān)閉(win方法已經(jīng)被銷毀)無法再找到win.hide()方法

問題解決:將win.hide()放在close事件當(dāng)中

win.on("close", (event) => {
    event.preventDefault();//阻止默認(rèn)關(guān)閉事件
    win.hide(); //隱藏窗口
});

win.on("closed", () => {
    win= null;//移除相應(yīng)窗口的引用對象,避免再次使用它.
});
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • [轉(zhuǎn)載自http://get.ftqq.com/7870.get] <link rel="icon" type="...
    起航者de風(fēng)景閱讀 4,557評論 0 2
  • 第一次開發(fā)桌面應(yīng)用。在此記錄使用electron-vue搭建桌面版應(yīng)用所遇到的問題。 process is not...
    磚頭與少年閱讀 1,204評論 0 0
  • 最近幾個月因為公司的業(yè)務(wù)需求,一直在折騰小程序,從開始的完全不熟悉,到后面被各種坑折磨,是時候?qū)懸黄偨Y(jié)了,避免下...
    ArmorVon閱讀 1,953評論 1 1
  • vue文檔 一、課程介紹 https://vuejs.lipengzhou.com/ 內(nèi)容 使用 Vue.js 系...
    chang_遇見緣閱讀 7,106評論 9 126
  • vue文檔 一、課程介紹 https://vuejs.lipengzhou.com/ 內(nèi)容 使用 Vue.js 系...
    前端陳陳陳閱讀 311評論 0 1

友情鏈接更多精彩內(nèi)容