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 です。

2012年7月21日 · Toshimitsu Takahashi

Express などで Redis でセッション管理した場合のDBナンバーの指定方法

Node.js + Express な環境でセッション情報を Redis に置くようにしていた。デフォルトのdbに入れていたので別のにしようと思い調べたところ、Redis はナンバリングで DB を指定することがわかった。 Express の Guide には設定方法が載っていなかったが、使用するライブラリ connect-redis の READMEからわかった。 visionmedia/connect-redis · GitHub に書いてあるとおり、RedisStoreのコンストラクタ引数でオプション指定できるので、db としてセットする。 // Configuration app.configure(function(){ … app.use(express.session({ store : new RedisStore({ db: 10 }) })); … }); 上記の例では db number を 10 としている。host, port なども同様に指定できる。 結果的には Express 自体の話ではないけど、そのために調べたので。

2011年11月25日 · Toshimitsu Takahashi

Node.js に npm で express をインストールして試す

node.js と npm を Ubuntu にセットアップ - Tosshi Note の続きです。 npm で Express - node.js web application framework を入れて動かす。 express は node.js をさらに使いやすくするフレームワーク。使ったことがないが Ruby の Sinatra ライクだそうです。 express をインストール g はグローバルオプション。これを付けないとコマンド実行パスの node_modules にインストールされる。 $ sudo npm install -g express expressのヘルプ確認 セッション機能やテンプレート、CSSエンジンの指定ができることがわかる。 $ express -h Usage: express [options] [path] Options: -s, –sessions add session support -t, –template add template support (jade|ejs). default=jade -c, –css add stylesheet support (less|sass|stylus). default=plain css -v, –version output framework version -h, –help output help information ...

2011年9月26日 · Toshimitsu Takahashi