Я использую CRE для создания и создания моего кода веб-интерфейса. Моя (упрощенная) структура папок выглядит следующим образом:
package.json
node_modules/
public/
└── electron.js
└── index.html
src/
Мои npm сценарии:
"build": {
"appId": "com.somedomain.app",
},
"scripts": {
"react-start": "react-scripts start",
"react-build": "react-scripts build",
"react-test": "react-scripts test --env=jsdom",
"react-eject": "react-scripts eject",
"electron-build": "electron-builder",
"release": "yarn react-build && electron-builder --publish=always",
"build": "yarn react-build && yarn electron-build"
}
Когда я запускаю "build", проект создается, и появляется build
папка со всем в ней, которая затем используется электроном для создания файла app.asar
. Когда я извлекаю содержимое, я вижу следующую структуру:
package.json
node_modules/
build/
└── electron.js
└── index.html
Как электронщик узнал, что нужно взять папку build
из папки моего проекта? Я попытался выяснить это, поиграв с полем "build"
моего пакета. json примерно так:
"build": {
"appId": "com.somedomain.app",
"files": "app"
},
и переименовал мою папку build
в app
, но затем я получил следующую ошибку :
⨯ Application entry file "build\electron.js" in the "[redacted][\app.asar" does not exist. Seems like a wrong configuration.
Кажется, что электрон все еще пытается запустить electron.js
из папки build
, которой сейчас нет в app.asar
.
Как изменить структуру файла в файле app.asar
? Должен ли он содержать папку build
? В идеале я хотел бы иметь следующую структуру:
package.json
node_modules
electron/
└── electron.js
frontend
└── index.html
Я попытался изменить поле "files"
еще немного, я попытался "extraFiles"
и "buildResources"
, но даже если я смогу получить структуру папок внутри app.asar
так, как я хочу, я продолжаю получать сообщение об ошибке:
⨯ Application entry file "build\electron.js" in the "[redacted][\app.asar" does not exist. Seems like a wrong configuration.