如何解决[Snowpack][Electron] 如何在渲染器进程中导入“电子”?
最近,我尝试使用 SNowpack 开始我的个人电子项目。而我的项目基于 electron-snowpack
,一开始一切都很好。但是当我尝试在渲染器进程中导入包 electron
或任何其他节点包时。发生错误。
import {remote} from 'electron'
console.log(remote)
import electron error
我试过如下:
- 设置网络首选项:
nodeIntegration:true,contextIsolation:false,enableRemoteModule:true,
- 使用
preload
// preload.js
const {
contextBridge,ipcRenderer
} = require("electron");
contextBridge.exposeInMainWorld("api",{
send:(channel,data)=>{
// whitelist channels
let validChannels = ["toMain"];
if (validChannels.includes(channel)) {
ipcRenderer.send(channel,data);
}
},receive: (channel,func) => {
let validChannels = ["fromMain"];
if (validChannels.includes(channel)) {
// Deliberately strip event as it includes `sender`
ipcRenderer.on(channel,(event,...args) => func(...args));
}
}
})
// main.js
const win = new browserWindow({
width: 1200,height: 800,webPreferences: {
nodeIntegration: false,// is default value after Electron v5
contextIsolation: true,// protect against prototype pollution
enableRemoteModule: false,// turn off remote
preload:"./preload.js"
},})
// renderer.js
console.log(window.api) // undefined
- 在主进程中定义
window.require
。然后const electron = require("electron")
。发生错误require is not a function
我尝试了所有我能找到的解决方案。但错误仍然接踵而至。 有没有人可以给我任何帮助?谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。