readFileSyn c - нет такого файла или каталога в упакованном приложении - PullRequest
1 голос
/ 04 мая 2020

Я работаю над приложением Electron. У меня есть несколько JSON файлов из моей папки sr c, которые необходимо скопировать в пользовательскую папку во время инициализации приложения (настройки, настройки и т. Д. c).

Работает хорошо, когда включен Режим разработки и когда я делаю import файлы JSON.

Но исходя из того, как мне это нужно, readFileSync - лучший способ реализовать это.

var srcPath = path.resolve(__dirname, '../config/settings.json')
fs.readFileSync(srcPath)

I Я получаю сообщение об ошибке при запуске упакованного exe-приложения (в asar). Получение сообщений об ошибках вроде этого:

Error: ENOENT: no such file or directory, open 
'C:\Users\username\Desktop\NodeJS\branches\Electron
\myApp\dist\electron\My-App-win32-x64\resources\config\settings.json'

readdirSync() также не работает по той же причине.

Я понимаю, что мой относительный путь отличается в упакованной версии. Я проверил файл asar. и я не могу найти мои JSON файлы. Не уверен, что я проверяю правильно, хотя, поскольку он связан с Webpack.

Мой файл в этом примере находится в:

C:\Users\username\Desktop\NodeJS\branches\Electron\myApp\src\config\settings.json

Как я могу заставить эту работу работать?

Есть ли способ заставить электрон (я использую Electron-Packager с платформой Quasar) включить мои файлы JSON в упакованное приложение?

Разве Webpack не связывает файлы JSON ??

Мысли? Помогите пожалуйста!

1 Ответ

0 голосов
/ 06 мая 2020

В качестве обходного пути я только что создал папку, которая будет содержать сценарии «пост-упаковки». Один из которых делает копию из моей папки sr c в мою папку dist \ Electron \ appName \ resources (используя robocopy).

...