なっく日報

技術やら生活やらのメモ

node-config + browserifyでビルドは通ったがやっぱりダメだった件

結果失敗だったので、あまり参考にならない記事です。
が、とりあえずビルドは通せたので。

結論、--ignore-missingを入れればbrowserifyのdevDependenciesに書かれているモジュールがないと怒られるエラーは回避できる(が、そういう問題ではない。。)

最近、サーバサイドの設定管理のモジュールとして、

github.com

を使ってます。

  • ファイルの形式が、JSON5とかYAMLにも対応していたり
  • コマンドラインオプションでの設定上書きできたり
  • 環境変数に応じて環境ごとに読み込むファイルを変更できる

などなど、欲しいモノが大体そろっています。

で、クライアントサイドのJSでもそのまま読み込めたらいいかなと思って、ビルドしようとしたらエラーが。 (既にこの時点でそのままじゃ読み込めない予感はしていたのだが、そのまま作業を続けてしまった・・・)

'/path/to/node_modules/config/lib Error: Cannot find module 'coffee-script' from 

Error: Cannot find module on starting app(v1.11.0) · Issue #196 · node-config/node-config · GitHub

の現象と同じ。

これは、

{
    "build": "browserify client.js -o ./public/js/client.js --ignore-missing",
}

のように、--ignore-missingを入れることで、npm run buildできるようになりました。

が、当然ですが、設定ファイルを読み込む手段を持ち得ないため実行時にエラー。。

対策考え中。もっといい方法考えたら再度ブログ書きます。