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

Posted

技术标签:

【中文标题】Electron Builder 中不存在应用程序入口文件【英文标题】:Application entry file does not exist in Electron Builder 【发布时间】:2018-07-31 03:53:52 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

以上是关于Electron Builder 中不存在应用程序入口文件的主要内容,如果未能解决你的问题,请参考以下文章

为 windows 创建应用安装程序 - Electron (electron-packager, electron-builder)

Electron 使用 electron-builder 创建 MSI 安装程序

blazor return RenderFragment '__builder' 在当前上下文中不存在

Electron 和 TypeScript (electron-builder):“不能在模块外使用 import 语句”

使用 electron-builder 构建 React-Electron 应用程序,index.js 加载到 pre 标签中

创建 Electron JS 可执行文件(electron-builder 或 electron-forge)