【问题标题】:App.getPath("userData") seems to give the wrong pathApp.getPath("userData") 似乎给出了错误的路径
【发布时间】:2019-02-27 19:09:17
【问题描述】:

我有一个简单的应用程序,它基于电子快速启动,几乎没有任何变化。我正在尝试使用 nedb 并将其传递到我的 userData 路径中。

我的包.json

  "name": "my-electron-app",
  "version": "1.0.0",
  "description": "A minimal Electron application",
  "main": "main.js",
  "scripts": {
    "start": "electron main.js"
  }

我的渲染器脚本(app.js):

const remote = require('electron').remote;
const app = remote.app;

console.log(app.getPath('userData'))

根据控制台,userData是

C:\Users\me\AppData\Roaming\Electron

不应该是这样吗?

C:\Users\me\AppData\Roaming\my-electron-app

【问题讨论】:

  • 也许这是一个错误。让我们尝试使用生产应用程序。使用 electron-packager 打包生产应用

标签: node.js electron


【解决方案1】:

我认为问题在于您将 Electron 直接指向您的脚本,这意味着 Electron 完全忽略了您的 package.json 文件的存在。因此它不知道您的应用程序的名称。

试试:

"scripts": {
  "start": "electron ."
}

【讨论】:

  • 这就是答案。完美运行!
  • 不确定如果 package.json 和您的文件不在同一个目录中,这将如何工作。似乎电子希望您的 package.json 与您的应用程序位于同一文件夹中,但情况并非总是如此。
【解决方案2】:

要完成接受的答案,electron 命令接受文件夹或文件作为参数。

根据electron --help,如果您提供一个文件夹,它应该包含一个index.js 文件(您的应用程序)或一个带有入口点的package.json 文件。因此,您可以指定任何您想要的入口点:

{
    name:"my-electron-app",
    main: "app/index.js"
    ...

简短回答,正确设置 package.json 的 main 字段并运行 electron folder-containing-your-package-json

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-08
    • 2017-09-21
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多