如何使用 electro-forge 在电子生产中添加额外的资源文件

Mar*_*tin 12 reactjs electron electron-forge electron-react-boilerplate

我有一个让我的应用程序正常工作所需的文件。

我可以通过指定固定路径在开发中使用该文件

var path = process.cwd() + '/src/app/components/task/Scripts'; 
Run Code Online (Sandbox Code Playgroud)

以及后面的文件名。但是在打包应用程序后,我想将我需要的文件移动到extraResources系统中的文件夹中,我将能够在其中使用它

let path = pathPackage.join(process.resourcesPath, 'extraResources');
Run Code Online (Sandbox Code Playgroud)

我正在使用 Electron-Forge Maker 来生成生产构建 exe。extraResources但是安装exe后并没有创建文件夹。

package.json我在文件中指定它

  "build": {
    "extraResources": [
      "./extraResources/**"
    ]
  }
Run Code Online (Sandbox Code Playgroud)

有人可以为此提供解决方案吗?我已经测试了所有示例,但没有一个起作用。

小智 11

正如文档中提到的(此处记录的实际选项),您可以使用 packagerConfig 配置的 extraResource 选项添加文件。

额外资源 额外资源:字符串 | 细绳[]

  • 将一个或多个文件直接复制到应用程序的 Contents/Resources目录(对于 macOS 目标平台)以及 资源目录(对于其他目标平台)。可以通过process.resourcesPath值在打包的应用程序中引用资源目录 。

例如,在您的package.json文件中:

 {
   "config": {
     "forge": {
       "packagerConfig": { 
         "extraResource": [
           "./src/extraResources/file.txt",
           "./src/extraResources/folder"
          ]
        }
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

process.resourcesPath运行时文件将被放置在该目录中npm run package