All my React projects tend to be incredibly large in file size (bundle.js is 4.87 mb and the vendor.bundle.js is 2,87 mb). I have no idea why it is this large. I already hav
EDIT
I'm not sure if you are on Mac/IOs or Windows, but 2 things I noticed:
1: "deploy": "NODE_ENV=production webpack -p"
does not seens correct, you must set the variable when you 're building it for develop and for deploy and here you are not setting it.
2: You have to previously set it on the terminal/comand prompt.
Here goes a example for webpack minify and deploy, you have to adapt a little bit but I hp this should help you.
You have to set first this enviroment variable for node on comand prompt, open it in windows or terminal in mac and:
Mac: export NODE_ENV=production
Windows: set NODE_ENV=production
You can echo in windows or list in mac to check if variable has been added.
Then in your webpack.config.js
var PROD = process.env.NODE_ENV == 'production';
var config = {
entry: {
app: [
'./src/entry.jsx'
],
vendor: [
'react',
'lodash',
'superagent'
],
output: {
path: './build',
filename: PROD ? "bundle.min.js" : "bundle.js"
},
plugins: PROD ? [
new webpack.optimize.UglifyJsPlugin({minimize: true}),
new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.min.js'),
]:[
new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.js'),
]
};
In your package.json you can set this scripts:
If you are on Windows:
"scripts": {
"dev": "set NODE_ENV=development&&webpack-dev-server --host 0.0.0.0 --hot --progress --colors --content-base build",
"deploy": "set NODE_ENV=production&&webpack -p"
}
If you are on Mac IOS: If export does not work here use set instead, the difference from windows and mac is the space after &&.
"scripts": {
"dev": "export NODE_ENV=development&& webpack-dev-server --host 0.0.0.0 --hot --progress --colors --content-base build",
"deploy": "export NODE_ENV=production&& webpack -p"
}
The use the comand npm run watch to build in development and npm run deploy to build it for production in a minified version.