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

p1tboqfb  于 2023-09-28  发布在  Electron
关注(0)|答案(3)|浏览(163)

我有一个最小的电子应用程序,我试图建立它(它运行良好)。我的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.
3npbholx

3npbholx1#

你需要先构建主电子,你可以使用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
您可以查看Electron webpack文档以获取更多信息。

kyks70gy

kyks70gy2#

@Marcelo关于需要编译和构建源文件的观点是正确的。但我会提醒你不要使用electron-webpack,因为it's become unreliable
查看这些样板文件,了解其他一些选项,其中许多选项在底层使用electron-builder

a9wyjsp7

a9wyjsp73#

首先,你需要建立你的电子应用与生产。您可以使用标准的ng build命令,例如

ng build yourApp --configuration production

或者如果您只有一个项目并且在root中工作

ng build --configuration production

现在你应该在你的dist文件夹中有你的编译代码了。例如

dist/yourApp

您的应用程序将只是在dist文件夹

现在,在package.json中,您需要在构建代码中指定电子条目文件。如果您的入口文件名为main.js
IN package.json:

"main": "dist/yourApp/main.js"

相关问题