Electron-Packagerとこのコマンドを使用してアプリをパッケージ化しようとしています:
electron-packager . FooBar --platform=darwin --Arch=x64 --version=0.36.9
(私はMacOsxを使用しています)アプリは作成されますが、実行するとポップアップが表示されます:
捕捉されなかった例外:
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
このフォルダー:「/Users/myUser/myApp/FooBar-darwin-x64/FooBar.app/Contents/Resources/app」には、htmlファイル「menu.html」を指すエントリがありますが、電子はそれを見つけることができないようです。 。
これは私の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;
});
});
何が問題になる可能性があるかについてのアイデアはありますか?
ありがとうございました。
試すことができる2つのこと:
dependencies
に本番ビルドで実行する必要があるすべてのノードモジュールが追加されていることを確認してください。例:npm install <module_name> --save
私にとっての問題は、モジュールの依存関係がpackage.jsonの「devDependencies」にリストされていることでした
それらを「依存関係」に移動し、npm installを再度実行して問題を解決しました。
だから私はこれと同じ問題を抱えていた。私がcdをプロジェクトフォルダに入れて解決したとき、私のものは解決しました
npm i -D electron@latest
Package.jsonとnpm installを追加すると、適切にインストールされない場合がありました。それがあなたのために働いたかどうかを教えてください。
私のために働いたのは、メインアプリケーションファイルへの参照を変更することでした:package.jsonのelectronの新しいバージョンのmain.jsまたはapp.jsは、次のように修正しました:
"main": "app.js"