Node + Express + EJS で実行環境に応じて出力を変えるには
クライアントの JavaScript をRAWコードと圧縮版の指定を切り替えたいのが目的です。 単純に min.js だったら .js に置換するように、Nginx などの Rewrite を使うこともできると思ったんですが、複数のファイルを一つに圧縮しているため、それだけでは満たせませんでした。 ということで、EJS に NODE_ENV に相当するフラグを渡すようにして、切り替えるようにしました。 Express - app.js app.configure(‘development’, function(){ app.set(‘view options’, { PRODUCT: false }); }); app.configure(‘production’, function(){ app.set(‘view options’, { PRODUCT: true }); }); 上記のように PRODUCT を「view options」にそれぞれセットします。 <% if (PRODUCT) { -%> <% } else { -%> <% } -%> common.js と detail.js を合わせて圧縮してのが detail.min.js です。