2016-04-07 2 views
3

В моем main.js, у меня есть:Использования требуется, когда электрон приложение упаковывается в Асар

var mainFrm = require('./MainFrm'); 

Это работает отлично, за исключением, когда приложение упаковываются как файл Асар. Я получаю ошибку «Не могу найти модуль».

документация государства использовать следующее:

require('/path/to/example.asar/dir/module.js'); 

Я попытался это, но получил ту же ошибку. Где путь начинается при использовании вышеуказанного? Путь начинается с electron.exe? Кроме того, если я использую require ('/ resources/app.asar/MainFrm.js'), какой путь я использую для приложений OS X, так как папка «Ресурсы» находится в другом месте? Какой путь использовать во время разработки/отладки (т. Е. Не внутри асара)

ответ

0

Я думаю, у вас могут быть 2 проблемы. Во-первых, вам может понадобиться быть явным о расширении файла, поэтому вы ищете MainFrm.js, а не только MainFrm. Во-вторых, попробуйте использовать resolve для определения имени относительно текущего каталога.

Одним из способов решения этой проблемы заключается в решении пути во время выполнения, как это:

var mainFrm = require("path").resolve(__dirname, "./MainFrm.js"); 

Попробуйте некоторые комбинации, что и посмотреть, если это не поможет.