Могу ли я указать конфигурационный файл, к которому исполняемый файл, скомпилированный с помощью электронного компоновщика, может получить доступ после упаковки? - PullRequest
2 голосов
/ 29 мая 2019

Я создаю приложение Electron, в котором клиент запрашивает у сервера информацию, хранящуюся в файле JSON на сервере.Как я могу скомпилировать серверное приложение (используя электронный сборщик или другое) и затем включить файл JSON, к которому у скомпилированного исполняемого файла есть доступ?

Я просматривал документы по электронам и электронным сборщикам, но я былневозможно найти какую-либо соответствующую информацию.

В конце концов, мне нужно, чтобы файл JSON находился за пределами упакованного серверного приложения, чтобы его мог свободно изменять пользователь, использующий его.

Я ценю любую помощь!

РЕДАКТИРОВАТЬ: С тех пор я решил свою проблему.Пожалуйста, обратитесь к сообщению ниже , объясняющему мое решение!

1 Ответ

0 голосов
/ 12 июля 2019

После запроса в чате Electron Slack мне сообщили, что я могу использовать модуль fs из Node для ссылки на местоположение файла и использовать опцию extraResources электронного компоновщика, чтобы этот файл перемещался за пределы EXE после компиляции.

Например, если вы хотите сослаться на config.json, вы должны ссылаться на него в файле main.js так:

const { readFileSync } = require('fs');

var configFile = JSON.parse(readFileSync('./config.json'));

Затем в вашем файле package.json вы будете использовать extraResources, чтобы сообщить электронному сборщику, из какого файла извлекать откуда:

"build": {
    "extraResources": [
        {
            "filter": ["./config.json"]
        }
    ]
}

И, конечно же, если filter является массивом, вы можете продолжать указывать файлы, которые вы хотели бы оставить внешними, просто разделив их запятой!

Надеюсь, это поможет тем, у кого еще могут быть проблемы с этим!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...