あなたが言及したプラグインを使用したことはありません。あなたはWebPACKのを実行したときにそうNODE_ENVは、ご使用の環境から来ている
webpack.config.js
var config = {
entry: {
...
},
output: {
...
},
module: {
...
},
plugins: [
new webpack.DefinePlugin({
"process.env": {
NODE_ENV: JSON.stringify(process.env.NODE_ENV),
}
}),
// some other plugins
]
};
を:しかし、デフォルトのWebPACKのセットアップは、私は次のようにやっていることのように動作するはずです。
package.json
{
"scripts": {
"start": "NODE_ENV=development webpack-dev-server --progress --hot --inline --colors --host 0.0.0.0 --port 9999",
"production": "NODE_ENV=production webpack",
}
}
ごpackage.jsonで指定した環境でのWebPACKを実行します。
あなたのconfig.jsの
export default {
isDebug: process.env.NODE_ENV === "development",
logLevel: process.env.NODE_ENV === "development" ? "error" : "info"
};
私はReduxのための私のアプリケーションで使用する別の例。私は開発中にredux-loggerを持っていただけでした。
import { createStore, applyMiddleware } from "redux";
import thunk from "redux-thunk";
import logger from "redux-logger";
import promise from "redux-promise-middleware";
import reducer from "./reducers";
const middleware = process.env.NODE_ENV === "production" ? [promise(), thunk] : [promise(), thunk, logger()];
export default createStore(
reducer,
applyMiddleware(...middleware)
);
上記のreduxの例から生成されたコードを見れば、コンパイルした後でコンパイルしてください。
var middleware = true ? [(0, _reduxPromiseMiddleware2.default)(), _reduxThunk2.default] : [(0, _reduxPromiseMiddleware2.default)(), _reduxThunk2.default, (0, _reduxLogger2.default)()];
process.env.NODE_ENV === "production"
true
に評価されています。
このように見えます。私はuglifyを使ってデッドコードを削除することを考えなかったことに驚いています。 – ahskaus