Electron开发记录

132 阅读1分钟

1.使用nodemon热更新

npm i nodemon -D

在package.json中:

  "scripts": {
    "start": "nodemon --watch main.js --exec electron ."
  },

2.控制台报错:'require' is undefine

解决:

const mainWindow = new BrowserWindow({
    webPreferences: {
        nodeIntegration: true, // 加上这句,不行的话下面这句也加上,目的是为了集成node
        contextIsolation: false
    }
})

3.控制台调试

解决:

mainWindow.webContents.openDevTools();

console.png

3.使用showOpenDialog 打开文件时,获取不到文件路径

解决

ipcMain.on('open-music-file', () => {
    dialog.showOpenDialog({
        properties: ['openFile', 'multiSelections'],
        filters: [{ name: 'Music', extensions: ['mp3'] }]
    },(files) => {
        console.log(files)
    })
})

以上方式可能打印不出来,可采用以下方法:

ipcMain.on('open-music-file', () => {
    dialog.showOpenDialog({
    properties: ['openFile', 'multiSelections'],
    filters: [{ name: 'Music', extensions: ['mp3'] }]
    }).then(result => {
        console.log(result);
    })
})