TL; DR:
Насколько я могу судить с первого взгляда на исходный код, папка buildResources
используется для хранения дополнительных скриптов, плагинов и т. Д., Которые могут использоваться программой для сборки пакетов. Electron-builder сам не генерирует пакеты, он использует такие инструменты, как NSIS.
Объяснение:
У меня был тот же вопрос, и, к сожалению, я не нашел на него однозначного ответа. Запись в документации бесполезна. Я узнал, что кто-то спрашивал об этом в проблемах GitHub, но так и не получил Ответ.
Я решил сам немного покопаться в коде, чтобы узнать, что он делает. В NsisTargets.ts
вы можете видеть, что папка buildResources
может содержать настраиваемые включения и плагины для NSIS.
// NsisTargets.ts
taskManager.add(async () => {
const userPluginDir = path.join(packager.info.buildResourcesDir, pluginArch)
const stat = await statOrNull(userPluginDir)
if (stat != null && stat.isDirectory()) {
scriptGenerator.addPluginDir(pluginArch, userPluginDir)
}
})
// [...]
taskManager.add(async () => {
const customInclude = await packager.getResource(this.options.include, "installer.nsh")
if (customInclude != null) {
scriptGenerator.addIncludeDir(packager.info.buildResourcesDir)
scriptGenerator.include(customInclude)
}
})
а в pkg.ts
он используется для загрузки дополнительных скриптов в конструктор pkg:
// pkg.ts
if (options.scripts != null) {
args.push("--scripts", path.resolve(this.packager.info.buildResourcesDir, options.scripts))
}
Похоже, что buildResources
может содержать активы / скрипты, специально используемые для процесса сборки. Это также объясняет, почему содержимое buildResources
не включается в итоговый файл app.asar
.
person
Kerim Güney
schedule
09.04.2020