アプリを起動すると、『cannot find module ***』ってエラーが発生する。
どうもpackage.jsonと同じ場所にnode_modulesフォルダが無いと、アプリに必要なファイルが含まれないようだ。
この問題はpackage.jsonの『dependenciesに必要なパッケージが記載されていないといけない』とは別次元の問題。
そもそもビルド対象のソースパスにpackage.jsonとnode_modulesは一緒にあるのが普通だと思うのだけれど、開発環境(ディレクトリ構成)の作り方によってはそのような事が起きてしまう。
☆解決策
★解決案1(webpackを使う)
- webpackでJavaScriptモジュールを固める(例:bundle.js)
- bundle.jsと同じ場所にpackage.jsonを置く(例:./dist)
- package.jsonのmainの参照先を変更する
- "main": "bundle.js"
- electron-packagerで./distをsourcepathに指定して実行する
webpackありがとう!!
と、思ったけれど、これだけレンダラー(*.html)との連携が取れない。
ダメだぁ
webpackで頑張るか、*.html要らずな構成ならこれでイケるかもしれない。