海外のblog等の内容を紹介して何事かを述べた気になるのは好きではないのだが、現状おおむね以下のような感じでいいのではないかと思っている。
http://www.thomasboyt.com/2013/09/01/maintainable-grunt.html
まあもっと他にいい方法はあるかもしれないが、あまり汗水垂らして頑張りたい部分でもなく。
上記blogの方法だと、loadConfigっていうfunctionを用意する部分が微妙にゴニョっとしていて嫌だなあ、と思って当初は「まあどうせgrunt.initConfigに書くのって構造化データだけだから(注:後にfunctionを書くことになった).jsonにconfigを分割してみたのだが
- gruntのloadJSONは(当然ながら)正しいJSONを期待してパースするのでケツカンマとかが通らない
- めんどくさい
- keyをちゃんとダブルクォートしないといけない
- めんどくさい
- しかもエラった場合にどの部分がJSONとしてinvalidなのか分かりにくい
- 超絶めんどくさい
という事情があったので、.jsonはやめて大人しく.jsに分割することにした。
node上で動く何かであるとか、要はJSONではなくJavaScriptそのものを評価できる環境ならば設定ファイル的なものは.jsonで書くより.jsで書くほうが幸せになれるだろう。
なぜなら、validなJSONを手で書くのは苦行だからだ!