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)窗口的引用對象,避免再次使用它.
});