require("electron").app 未定义。我 npm 安装了新的模块。不确定该怎么做
Posted
技术标签:
【中文标题】require("electron").app 未定义。我 npm 安装了新的模块。不确定该怎么做【英文标题】:require("electron").app is undefined. I npm installed fresh modules. Unsure what to do 【发布时间】:2017-04-01 12:47:34 【问题描述】:昨天,我在 Electron 上开发得非常好。然后我跳到我的电脑上,发现 Electron 现在根本不工作了。
我删除了node_modules
并做了一个新的npm install
package.json:
...
"devDependencies":
"devtron": "^1.4.0",
"electron": "^1.4.7"
,
"dependencies":
"electron-debug": "^1.1.0"
...
这是我得到的error。
我遵循了这个问题以前问题的建议。什么都解决不了。
Electron 没有全局安装。一切都应该包含在目录中。
npm list
大部分代码取自electron boilerplate
编辑:
主进程:
'use strict';
const path = require('path');
const electron = require('electron');
const app = electron.app;
// adds debug features like hotkeys for triggering dev tools and reload
require('electron-debug')(
showDevTools: true
);
// prevent window being garbage collected
let mainWindow;
function onClosed()
// dereference the window
// for multiple windows store them in an array
mainWindow = null;
function createMainWindow()
const display = electron.screen.getPrimaryDisplay();
const win = new electron.BrowserWindow(
width: display.workArea.width,
height: display.workArea.height
);
const projectPath = path.dirname(path.dirname(__dirname));
win.loadURL(`file://$projectPath/static/index.html`);
win.on('closed', onClosed);
return win;
app.on('window-all-closed', () =>
if (process.platform !== 'darwin')
app.quit();
);
app.on('activate', () =>
if (!mainWindow)
mainWindow = createMainWindow();
);
app.on('ready', () =>
mainWindow = createMainWindow();
);
【问题讨论】:
能否包含导致错误的代码?您可能只是以某种方式输入错误。 @Aurora0001 我用主进程代码编辑了。 @Aurora0001 我就是这么做的。每个变量的输出。electron: /Users/user/Programming/electron-project/node_modules/electron/index.js
和 app: undefined
@Aurora0001 好吧,太蹩脚了。我似乎无法在样板上重现我的错误。没有意义。它昨天确实在工作,我什么也没改变。
@Aurora0001 哦,这太奇怪了。所以,我认为它一定是一个 Atom 终端插件,它以某种方式破坏了一切。我正在进行渲染过程。将其复制到样板的渲染过程文件中。当我使用插件终端运行时。它崩溃了,但是当我在我的普通终端上运行时它运行。此外,还有一些来自终端的错误报告。认为它可能以某种方式与 npm 搞砸了。好的,它已修复。
【参考方案1】:
所以,就我而言。通过使用我原来的终端而不是 Atom 的插件终端解决了问题。
对于那里的任何人。使用您的 vanilla 终端甚至编辑器仔细检查以进行仔细检查。
【讨论】:
有人发现这背后的原因吗? 我在使用 vs 代码调试电子应用程序时遇到了这个问题。我添加了一个类似于this 的配置文件。确保从调试器窗口中取消选中“所有异常”和“未捕获的异常”。它应该可以顺利调试。以上是关于require("electron").app 未定义。我 npm 安装了新的模块。不确定该怎么做的主要内容,如果未能解决你的问题,请参考以下文章
Electron 发生错误 "Cannot find module app"的解决方案
在 Electron 应用程序中使用 require(lib) 与 <script>
electron 中renderer.js中使用require('electron') 报错require is not defined