Electron Builder 中不存在应用程序入口文件

Application entry file does not exist in Electron Builder

我有一个最小的电子应用程序,我正在尝试构建它(运行没问题)。我的package.json是

  "main": "main.js",
  "scripts": {
    "start": "electron -r babel-register .",
    "package": "build --dir",
    "postinstall": "electron-builder install-app-deps"
  },
  // dependencies
  "build": {
    "appId": "com.karmadust.mancuspianconvert",
    "files": [
      "node_modules/**/*"
    ],
    "directories": {
      "buildResources": "assets"
    }
  }

当我 运行 npm run package 我得到:

Application entry file "main.js" in the "[path-to-project]/dist/mac/myapp.app/Contents/Resources/app.asar" does not exist. Seems like a wrong configuration.

你需要先构建主电子,你可以使用electron-webpack:

package.json

"scripts": {
    "compile": "electron-webpack",
    "build": "yarn compile && electron-builder" // Compile main first
  },
"electronWebpack": {
    "commonSourceDirectory": "common",
    "main": {
      "sourceDirectory": "main" // The main folder
    },
    "renderer": {
      "sourceDirectory": null // Ignore any renderer build
    },
 }

它将在您的 dist 中创建一个 main 文件夹,其中包含 main.js build-in。

您可以查看 Electron webpack 文档了解更多信息。

@Marcelo 关于需要编译和构建源文件的说法是正确的。但我要提醒你不要 electron-webpack 因为 it's become unreliable

检查 these boilerplates 以了解其他一些选项,其中许多在后台使用 electron-builder