2016-02-28 11 views
7

ja próbuje zapakować moją aplikację za pomocą elektronowego-Packager i polecenie:Electron-Packager: Nie można odnaleźć modułu

electron-packager . FooBar --platform=darwin --arch=x64 --version=0.36.9 

(używam MacOSX) aplikacja jest tworzona, ale kiedy go uruchomić dostaję pop-up pokazuje to:

Uncaught Wyjątek:

Error: Cannot find module '/Users/myUser/myApp/FooBar-darwin-x64/FooBar.app/Contents/Resources/app/app:/host/menu.html' 
    at Function.Module._resolveFilename (module.js:338:15) 
    at Function.Module._load (module.js:289:25) 
    at Object.<anonymous> (/Users/myUser/myApp/FooBar-darwin-x64/FooBar.app/Contents/Resources/atom.asar/browser/lib/init.js:158:8) 
    at Module._compile (module.js:425:26) 
    at Object.Module._extensions..js (module.js:432:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:313:12) 
    at Function.Module.runMain (module.js:457:10) 
    at startup (node.js:151:18) 
    at node.js:1007:3 

w tym folderze: "/Users/myUser/myApp/FooBar-darwin-x64/FooBar.app/Contents/Resources/app" nie ma wpis wskazuje plik html "menu.html", ale se EMS elektron nie może go znaleźć ...

to moje app.js:

var app = require('app'); // Module to control application life. 
var BrowserWindow = require('browser-window'); // Module to create native browser window. 

var mainWindow = null; 


// This method will be called when Electron has done everything 
// initialization and ready for creating browser windows. 
app.on('ready', function() { 

    // Create the browser window. 
    mainWindow = new BrowserWindow({width: 1024, height: 768}); 

    // and load the index.html of the app. 
    mainWindow.loadUrl('file://' + __dirname + '/menu.html'); 

    mainWindow.openDevTools({detach: true}); 

    // Emitted when the window is closed. 
    mainWindow.on('closed', function() { 
    mainWindow = null; 
    }); 

}); 

Czy macie jakieś pomysły na to, co może być problemem?

Dziękuję.

Odpowiedz

10

dwie rzeczy można spróbować:

  • Upewnij co moduły węzła, który trzeba uruchomić na kompilacji produkcyjnej dodanej w dependencies w package.json. Np: npm install <module_name> --save
  • Jak to działa kiedy --asar = false (Więcej informacji na https://github.com/electron-userland/electron-packager)
+0

Dzięki, wystąpił błąd w pliku package.json – navy1978

+0

Zmieniłem moje 'devDependencies' na' dependencies' i wygląda na to, że działa! –

0

Dla mnie problemem było to, że zależności modułów zostały wymienione w „devDependencies” w package.json

Przeniesienie ich do "zależności" i uruchomienie npm install ponownie rozwiązało problem.