NodeJS TypeError:无法读取未定义的属性“getAppPath”

okxuctiv  于 2023-03-01  发布在  Node.js
关注(0)|答案(2)|浏览(276)

我们使用的是电子"electron": "^5.0.2"
发生错误的代码在主进程中。它调用我们的后端服务。我试图为API路径添加一个常量,就像我们在其他地方添加常量一样(注意:这里的解决方案可能是使用一个环境变量)。问题是电子在尝试访问appPath()方法时会给出错误。相同的代码在应用程序的其他地方也可以工作。
TypeError: Cannot read property 'getAppPath' of undefined

const {app} = require('electron');

const path = require('path');
const constants = require(path.join(app.getAppPath(), 'src/constants'));

创建浏览器窗口时,我们将nodeIntegration设置为true

window = new BrowserWindow({
    webPreferences: {nodeIntegration: true}
  });
xzlaal3s

xzlaal3s1#

试试看:

const app = require('electron')

app.remote.app.getPath()

如果这不起作用,您应该尝试检查main.js是否为:

  • 包含在package.json
  • 您的前端JS或index.html不需要
  • 当然,要确保electron是作为一个dev依赖项安装的
  • 如果您在尝试打包应用程序时遇到,则应运行在条件中使用app的代码,app在打包时不可用,但将在产品中可用
t1qtbnec

t1qtbnec2#

在renderer.js中:

remote.app.getAppPath()

相关问题