Я создаю приложение Electron, и я создал небольшой двоичный файл демона, написанный на Go, который должен быть упакован вместе с приложением как extraResource
. Однако существуют разные версии этого двоичного файла, которые необходимо упаковать в зависимости от платформы, в частности, agent.exe
для Windows и agent
без расширения для MacOS, и для Linux с тем же именем файла, что и Ma *. 1025 *.
У меня есть эти двоичные файлы в каталоге bin
в моем проекте root:
├── bin/
│ ├── windows/
│ │ └── agent.exe
│ ├── mac/
│ │ └── agent
│ ├── linux/
│ │ └── agent
Тестирование для Windows, я включил каталог bin/windows
и он работает нормально (пакеты, которые исполняются в каталоге ресурсов, как и ожидалось)
Вот соответствующий фрагмент моего пакета. json
"build": {
"win": {
"icon": "build/app.ico",
"target": [
{
"target": "nsis",
"arch": [
"x64"
]
}
]
},
"nsis": {
"include": "build/installer.nsh",
"oneClick": false,
"allowToChangeInstallationDirectory": true,
"license": "build/eula.txt",
"installerIcon": "build/app.ico",
"artifactName": "...",
"shortcutName": "..."
},
"extraResources": [
"bin/windows/agent.exe"
]
}
Возможно ли это? В настоящее время мне пришлось бы отредактировать файл package. json, изменив значение extraResources
между сборками разных платформ, что по очевидным причинам не идеально (так как я мог забыть и закончить включение неправильного двоичного файла с помощью забыл вернуть его обратно).
Обратите внимание, что я не поддерживаю 32-разрядную версию Windows, поэтому все сборки Windows будут включать один и тот же (64-разрядный) двоичный файл.
I я использую сборщик электронов 19.50.0