javascript - TypeError:无法读取未定义(电子)的属性“要求”
问题描述
我需要帮助,我正在做和学习 Electron,当我想在我的 app.js 中使用“远程”时,我会抛出以下错误:
TypeError: Cannot read property 'require' of undefined
这是我的 app.js
const { ipcRenderer, remote } = require('electron');
const main = remote.require('../main'); //The error is generated here
main.js 的位置是正确的。
这是我的 main.js
const{BrowserWindow} = require('electron')
function hello(){
console.log('Desde Main')
}
let window
function createWindow() {
window = new BrowserWindow({
width: 799,
height: 599,
webPreferences: {
nodeIntegration: true,
contextIsolation: false,
}
})
window.loadFile('src/ui/index.html')
//window.removeMenu()//
}
module.exports = {
createWindow,
hello
}
如果您需要更多信息,请随时咨询我,非常感谢。
更新
我执行了响应中显示的指示(Electron.remote 未定义),但我抛出以下错误......
(electron) The remote module is deprecated. Use
https://github.com/electron/remote instead.
log @ electron/js2c/renderer_init.js:13
然后下一个
Uncaught Error: Cannot find module '../main.js'
Require stack:
- C:\Users\claur\Documents\ThomasLaurence\workspace\Metales_del_Sur_ODT\src\index.js
- C:\Users\claur\Documents\ThomasLaurence\workspace\Metales_del_Sur_ODT\node_modules\electron\dist\resources\default_app.asar\main.js
-
at Module._resolveFilename (internal/modules/cjs/loader.js:887)
at Function.n._resolveFilename (electron/js2c/browser_init.js:257)
at Module._load (internal/modules/cjs/loader.js:732)
at Function.f._load (electron/js2c/asar_bundle.js:5)
at Module.require (internal/modules/cjs/loader.js:959)
at electron/js2c/browser_init.js:221
at IpcMainImpl.<anonymous> (electron/js2c/browser_init.js:221)
at IpcMainImpl.emit (events.js:315)
at Object.<anonymous> (electron/js2c/browser_init.js:161)
at Object.emit (events.js:315)
我可以从应用程序窗口中的控制台可视化的所有内容
解决方案
从官方文档,
⚠️ 警告⚠️ 远程模块已弃用。代替远程,使用 ipcRenderer 和 ipcMain。
如果您使用 app.js 在主进程和渲染器进程之间传递数据,则可以将其声明为预加载,如下所示:
window = new BrowserWindow({
width: 799,
height: 599,
webPreferences: {
contextIsolation: true,
nodeIntegration: false,
preload: path.join(__dirname, 'app.js')
}
这样,app.js 也将能够访问节点模块。 这是一个要点,可以帮助您了解如何在渲染器和主进程之间传递数据。
推荐阅读
- python - 烧瓶 request.args,无法正常工作
- python - Fast access to sums of pairwise ops
- reactjs - React.js 在 switch 语句中大于/小于
- ios - 错误:无法加载客户端证书私钥文件
- laravel - 如何在 laravel 中检索用户时急切加载?
- python - 打开超大.xlsx,更改一张小表的内容,然后保存
- html - HTML屏幕的拆分布局,下面的内容不可见
- google-workflows - 您如何暂停并稍后从 nodejs 恢复工作流程
- python - pandas to_datetime('today') 抛出错误
- c++ - 不将文本从函数输出到控制台?