ハマった内容
ローカルでは正常動作するのに、パッケージ化して作成した実行ファイルだと下記エラーがでてしまう。
Error: Cannot find module '...'
解決方法
作成中アプリルート/
├ node_modules/
├ src/
│ ├ index.html
│ ├ index.css
│ ├ main.js
│ ├ package-lock.json
│ └ package.json
├ package-lock.json
└ package.json
自分が作成していたアプリは上記のようなディレクトリ構成で、作成中アプリのルートディレクトリで必要なNodeモジュールを npm install xxx
でインストールしていた。
それを /src(ソースパス)と同じディレクトリ内で必要なNodeモジュールをインストールすることでエラーがでなくなった!!!
参考リンクの回答では、下記のようにNodeモジュールのインストールする先を変えているみたい。
原因
npx electron-packager ./src FirstApp --platform=darwin --arch=x64 --overwrite --icon=src/icon/osx/app.icns
electron-packager <sourcedir> <appname> --platform=<platform> --arch=<arch> [optional flags...]
electron-packagerドキュメント
で指定したソースディレクトリ配下が .app内のContents/Resources/app/
内にパッケージングされて 作成中アプリのルートディレクトリでインストールした /node_modulesがパッケージ化した時に含まれないため