package.json

"devDependencies": {
    "autoprefixer": "^6.1.2",
    "babel": "^6.3.13",
    "babel-core": "^6.3.13",
    "babel-loader": "^6.2.0",
    "babel-plugin-react-transform": "^1.1.1",
    "babel-preset-es2015": "^6.3.13",
    "babel-preset-react": "^6.3.13",
    "babel-preset-stage-0": "^6.3.13",
    "css-loader": "^0.23.0",
    "extract-text-webpack-plugin": "^0.9.1",
    "node-sass": "^3.4.2",
    "postcss-loader": "^0.8.0",
    "react": "^0.14.3",
    "react-dom": "^0.14.3",
    "react-transform-hmr": "^1.0.1",
    "sass-loader": "^3.1.2",
    "style-loader": "^0.13.0",
    "toolbox-loader": "0.0.3",
    "webpack": "^1.12.9",
    "webpack-dev-middleware": "^1.4.0",
    "webpack-hot-middleware": "^2.6.0"
  }

webpack.config.js

var path = require('path');
var webpack = require('webpack');
var autoprefixer = require('autoprefixer');
var ExtractTextPlugin = require('extract-text-webpack-plugin');

module.exports = {
	context: __dirname,
	devtool: 'eval',
	entry: [
		'webpack-hot-middleware/client',
		'./public/src/index.jsx'
	],
	output: {
		path: path.join(__dirname, 'public/dist'),
		filename: 'index.js',
		publicPath: '/dist/'
	},
	resolve: {
		extensions: ['', '.jsx', '.scss', '.js', '.json']
	},
	resolveLoader: { root: path.join(__dirname, "node_modules") },
	module: {
		loaders: [
			{
				test: /(\.js|\.jsx)$/,
				exclude: /(node_modules)/,
				loader: 'babel',
				query: {
					presets: ['es2015','stage-0', 'react']
				}
			}, {
				test: /(\.scss|\.css)$/,
				loader: ExtractTextPlugin.extract('style', 'css?sourceMap&modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!postcss!sass?sourceMap')
			}
		]
	},
	postcss: [autoprefixer],
	plugins: [
		new ExtractTextPlugin('main.css', { allChunks: true }),
		new webpack.HotModuleReplacementPlugin(),
		new webpack.NoErrorsPlugin(),
		new webpack.DefinePlugin({
	    	'process.env.NODE_ENV': JSON.stringify('development'),
	    	VERSION: '1.0.0'
	    })
	]
}

app.js

var webpack = require('webpack');
var webpackConfig = require('./webpack.config');
var compiler = webpack(webpackConfig);
app.use(require('webpack-dev-middleware')(compiler, {
  publicPath: webpackConfig.output.publicPath,
  stats: {
    colors: true
  }
}));

app.use(require('webpack-hot-middleware')(compiler));