Использование require, когда электронное приложение упаковано в asar
В моем main.js у меня есть:
var mainFrm = require('./MainFrm');
Это прекрасно работает, за исключением случаев, когда приложение упаковано в файл asar. Я получаю ошибку "Не удается найти модуль".
Документация гласит использовать следующее:
require('/path/to/example.asar/dir/module.js');
Я попробовал это, но получил ту же ошибку. Где начинается путь при использовании выше? Путь начинается с Electron.exe? Кроме того, если я использую require('/resources/app.asar/MainFrm.js'), какой путь мне использовать для приложений OS X, поскольку папка Resources находится в другом месте? Какой путь мне следует использовать во время разработки / отладки (т.е. не внутри асара)
1 ответ
Я думаю, что у вас может быть 2 вопроса. Во-первых, вам может потребоваться четко указать расширение файла, поэтому ищите MainFrm.js
, не просто MainFrm
, Во-вторых, попробуйте использовать resolve
определить имя относительно текущего каталога.
Одним из способов решения этой проблемы является разрешение пути во время выполнения, например:
var mainFrm = require("path").resolve(__dirname, "./MainFrm.js");
Попробуйте несколько комбинаций этого и посмотрите, не поможет ли это.