JavaScript
browserify
reactjs

browserify + npmでReactを使う場合はNODE_ENVを設定するとよい

More than 3 years have passed since last update.

Reactの内部には次のようなコードがいたるところにある。

if ("production" !== process.env.NODE_ENV) {
  console.log('debug message');
}

あらかじめビルド済みのreact.min.jsとかを使う場合はすでにproductionモードでビルドされてるので気にしなくていいけど、browserifyで自分でReactをビルドする場合はNODE_ENVを設定する必要がある。

のでproductionでは次のように環境変数を設定して実行するとよい。

$ NODE_ENV=production browserify src/app.js -o bundle.js

このようにしてビルドすると、Reactがenvifyというtransform packageを使っているため、次のように変換される。

if ("production" !== "production") {
  console.log('debug message');
}

さらにこれをuglifyにかけてminifyするとここに到達することはないdead codeということでコード自体を削ってくれる。