我有一个电子应用程序,我在运行时收到此错误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",
}
最后弄清楚,因为该项目具有electron-webpack
依赖项,可用作电子构建配置的基本模板。那里定义了一些扩展字段。
解决方法是从项目依赖项中删除electron-webpack
或使用electron-webpack
约定来管理项目。
我遇到了类似的问题:
".....\dist\win-unpacked\resources\app.asar"中的应用程序条目文件"index.js"不存在。
对我来说,修复是添加
main: "main.js"
在生成的应用程序的 package.json 中,所以 .\app\package.json。似乎没有这个电子生成器 21(电子 6(正在寻找一个"索引.js"文件。
如果你的主电子入口点文件被称为电子.js正如你提到的。
然后,首先需要在生产中构建应用程序:
ng build --configuration production
现在,您应该在dist文件夹中拥有构建的代码。(它也可以在dist/YourApp文件夹中,然后您需要相应地修改路径(在这里,您将拥有电子.js文件。您应该验证它是否在那里。
现在在package.json中,您需要使用main参数指定electron.js文件的路径
在package.json中:
"main": "dist/electron.js"
或者,如果您的文件在 dist/您的应用程序中
"main": "dist/yourApp/electron.js"
Electron builder 获取您构建的代码并将其转换为安装程序。
我在选择与源生产文件位于不同文件夹中的入口文件的生产版本时遇到错误。
以下是让我的应用程序构建的相关配置部分:
"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"
}
]
}
}