ElectronでのPackaging環境下でのNuxt3(nitro)

パッケージングしたら一個前でやってた共通リソースが見れなくなり、
そういえばなんかrootディレクトリまでのパスがパッケージング後で変わるんだっけな。。と思い出して、色々やってたんだけど、
まーーーーchild_process側のデバッグログしづらい。。!
WindowCreateからのurl openまで無事行けばconsole出せるんだけどそこまでにpath関係でコケてるとほんとめんどかった。。(electron-log入れた)

んで、child_process側ではプロジェクトrootを渡してやらないと取れないのを知らずにうんうん唸ってた。w

if (isApp) {
  const { fork } = require("child_process");
  childprocess = fork(path.join(__dirname, "../.output/server/index.mjs"), [], {
    env: {
      PWD: path.resolve(__dirname, "../"),
    },
    cwd: path.resolve(__dirname, "../"),
  });

こんな感じで渡してやればchild_process側でもこれまでと同じように
process.cwd() とかで取れる。

あと、process.env.NODE_ENVとかでdev,prodを出し分けてたんだけど
パッケージング後はどう取るねん。。ってのがあって、
色々log見てたらとりあえずこの値で見れた。

if (process.env.ELECTRON_RUN_AS_NODE) {
    // パッケージング後のElectron環境
  } else {
    // 開発環境, パッケージング前のElectron環境
  }

知らないことがたくさん。

you