【问题标题】:cannot get to read from extraResources after pack with electron builder使用电子生成器打包后无法从 extraResources 读取
【发布时间】:2021-06-09 13:08:39
【问题描述】:

我正在使用一个应用程序,它从位于 extraResources 目录中的 json 文件读取/写入,由 electron-builder 创建

包.json

"build": {
      "files": [
        "src/*",
        "src/json/*",
        "src/scss/*",
        "src/views/*"
      ],
      "extraResources": [
          {
            "from": "./src/json/",
            "to": "extraResources",
            "filter": [
              "**/*"
            ]
          }
      ],
      "win": {
        "target": "nsis",
        "icon": "build/icon.ico"
      }
    }

我试图用这个从 Tasks.json 读取 json 文件

const loadTasks = fs.readFileSync(path.join(__dirname, 'extraResources', "Tasks.json"))

但是在编译时,我在控制台中收到以下错误消息: Uncaught Error: ENOENT: no such file or directory, open '/extraResources/Tasks.json'

我不知道我做错了什么,但我无法访问位于 app.asar 外部的 extraResources

谢谢!!!

【问题讨论】:

    标签: javascript node.js electron


    【解决方案1】:

    来自electron-builderdocumentationextraResources位于应用的资源目录中

    相对于项目目录的全局模式,当指定时,将具有匹配名称的文件或目录直接复制到应用程序的资源目录(MacOS 为 Contents/Resources,Linux 和 Windows 为资源)。

    可以通过process.resourcesPath获取资源目录

    path.join(process.resourcesPath, YOUR_EXTRA_RESOURCES_FILES);
    

    【讨论】:

      猜你喜欢
      • 2018-10-08
      • 2017-06-13
      • 2016-12-10
      • 2021-06-01
      • 2017-03-02
      • 2018-10-19
      • 2021-07-04
      • 2016-04-09
      • 2017-12-14
      相关资源
      最近更新 更多