在电子版本

时间:2019-05-29 01:44:01

标签: node.js electron

我有一个电子应用程序,运行electron-builder build时出现此错误。

Error: Application entry file "main.js" in the "/project/dist/release/mac/demo.app/Contents/Resources/app.asar" does not exist. Seems like a wrong configuration.

这是package.json。我已将main设置为dist/electron.js,但我不明白为什么它总是说main.js不存在。

...
"main": "dist/electron.js",
"build": {
    "productName": "demo",
    "appId": "com.auspost.pos",
    "files": [
      "dist/",
      "node_modules/**/*",
      "package.json",
      "dist/electron.js"
    ],
    "directories": {
      "output": "dist/release"
    },
    "dmg": {
      "contents": [
        {
          "x": 130,
          "y": 220
        },
        {
          "x": 410,
          "y": 220,
          "type": "link",
          "path": "/Applications"
        }
      ]
    },
    "win": {
      "target": [
        "nsis",
        "msi"
      ],
      "icon": "./electron/assets/icons/win/app.ico"
    },
    "publish": {
      "provider": "github"
    }
  },
...
"devDepencencies": {
    "electron": "^5.0.2",
    "electron-builder": "^20.41.0",
    "electron-webpack": "^2.6.2",
}

3 个答案:

答案 0 :(得分:0)

最后找出原因,因为该项目具有electron-webpack依赖性,可以作为电子构建配置的基础模板。在那里定义了一些字段,这些字段得到扩展。

此问题的解决方法是从项目依赖项中删除electron-webpack或使用electron-webpack约定来管理项目。

答案 1 :(得分:0)

我有一个类似的问题:

“ ..... \ dist \ win-unpacked \ resources \ app.asar”中的应用程序入口文件“ index.js”不存在。

对我来说,解决方法是添加

main: "main.js"

在生成的应用程序的package.json中,所以。\ app \ package.json。 好像没有这个电子生成器21(电子6)正在寻找一个“ index.js”文件。

答案 2 :(得分:0)

选择条目文件的生产版本时遇到错误,该版本与源生产文件位于不同的文件夹中。

以下是相关的配置部分,可让我的应用程序得以构建:

 "build": {
    "files": [
      "electron-settings.json",
      "package.json"
    ],
    "extraResources": [
      {
        "from": "../build/backend/min",
        "to": "app",
        "filter": [
          "**/*"
        ]
      },
      {
        "from": "desktop/node_modules",
        "to": "node_modules"
      }
    ],
    "mac": {
      "extraResources": [
        {
          "from": "build/osx",
          "to": "app/build/osx"
        }
      ]
    }
  }