我正在使用electron-dl下载文件,但我似乎无法使其正常工作。 我做的几乎与文档中定义的完全一样,但我不知道出了什么问题。
错误:
我在主进程
上收到以下错误TypeError: Cannot read property 'then' of undefined
at EventEmitter.ipcMain.on ( \electron-dl-test\main.js:24:7)
如何重现(设置):
npm install
然后npm start
main.js:
ipcMain.on('download', (ev, args) => {
download(BrowserWindow.getFocusedWindow(), args.url, args.properties)
.then(dl => console.log(dl.getSavePath()))
.catch(console.error);
})
index.html as renderer:
document.getElementById("download-file").onclick = function () {
//
var ipcRenderer = require('electron').ipcRenderer;
ipcRenderer.send('download', {
url: 'https://textfiles.com/100/ad.txt',
properties: {
saveAs: true,
directory: 'C:\\'
}
});
//
};
答案 0 :(得分:2)
download
函数是electron-dl
导出的对象的一部分。当需要模块时,您需要解构(ES6)或直接引用它(ES5):
const { download } = require("electron-dl") // ES6
或
var download = require("electron-dl").download // ES5