如何解决修复电子模块远程和 dialog.showOpenDialog
这是我的代码
const parse = require('csv-parse');
var $ = global.jQuery = require('jquery');
const electron = require('electron');
const { dialog } = require('electron');
const fs = require('fs');
const path = require("path");
function myImage() {
dialog.showOpenDialog({properties: ['openFile']}).then(result => {
if (result.canceled) {
console.log("No file selected!")
} else {
const filePath = result.filePaths[0];
const fileName = path.basename(filePath);
imgFolderPath = path.join(app.getPath('userData'),fileName);
fs.copyFile(filePath,imgFolderPath,(err) => {
if (err) throw err;
console.log(fileName + ' uploaded.');
});
}
});
}
$("#uploadMyImg").on("click",() => {
myImage()
});
这是我点击uploadMyImg按钮
时的控制台Uncaught TypeError: Cannot read property 'showOpenDialog' of undefined
电子改变了什么还是我做错了什么
这是来自 main.js (electron) 的代码
我应该使用其他模块吗
const {app,browserWindow,ipcMain} = require('electron')
let mainWindow
function createMainWindow() {
mainWindow = new browserWindow ({
autoHideMenuBar: true,resizable: false,width: 1920,height: 1080,webPreferences: {
nodeIntegration: true,contextIsolation: false,enableRemoteModule: true
}
})
mainWindow.loadFile('./newClient.html')
}
app.on('ready',() => {
createMainWindow()
mainWindow.on('ready',() => mainWindow = null)
})
app.on('window-all-closed',function () {
if (process.platform !== 'darwin') app.quit()
})
电子改变了什么???
解决方法
您不能像这样通过 dialog
直接从电子导入 remote
;
const { remote } = require('electron');
let dialog = remote.dialog
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。