title: Unexpected token Provider
body: <p>I'm trynig to create an isomorphic react application, 
  Below are some of my files, Inside my server.js when I try to use <code>&lt;Provider&gt;</code>, I get an error saying Unexpected token.</p>
  
  <p>I assume this is because I'm trying to use jsx inside my server.js, But, I'm not sure on this. </p>
  
  <p>Inside my index.js, I have required require('babel-core/register')({});</p>
  
  <p>Won't this be able to transpile the subsequnt Jsx syntax? Am I missing something here? </p>
  
  <p><strong>Package.json</strong></p>
  
  <pre><code>  "main": "index.js",
    "scripts": {
      "start": "node --harmony .",
      "build": "rimraf build &amp;&amp; cross-env NODE_ENV=production webpack --config ./webpack.production.config.js --progress --profile --colors",
  </code></pre>
  
  <p><strong>index.js</strong></p>
  
  <pre><code>'use strict';
  
  require('babel-core/register')({});
  require('babel-polyfill');
  
  var server = require('./server').default;
  
  const PORT = process.env.PORT || 3000;
  
  server.listen(PORT, function () {
    console.log('Server listening on: ' + PORT);
  });
  </code></pre>
  
  <p><strong>server.jsx</strong></p>
  
  <pre><code>var webpack = require('webpack')
  var webpackDevMiddleware = require('webpack-dev-middleware')
  var webpackHotMiddleware = require('webpack-hot-middleware')
  var config = require('./webpack.config')
  var serveStatic = require('serve-static');
  var path = require('path');
  var bodyParser = require('body-parser');
  var app = new (require('express'))()
  var express = require('express');
  var request = require('request');
  import React from 'react'
  import createLocation            from 'history/lib/createLocation';
  import { renderToString }        from 'react-dom/server'
  import { RoutingContext, match } from 'react-router';
  import { Provider }              from 'react-redux';
  import routes from './src/routes'
  
  
  app.use(bodyParser.json());
  app.use(bodyParser.urlencoded({ extended: true }));
  
  
  var isDeveloping = process.env.NODE_ENV !== 'production';
  var port = isDeveloping ? 7000 : process.env.PORT;
  
  
  if(isDeveloping){
    const compiler = webpack(config);
    const middleware = webpackDevMiddleware(compiler, {
      publicPath: config.output.publicPath,
      contentBase: 'src',
      stats: {
        colors:true,
        hash: false,
        timings:true,
        chunks:false,
        chunkModules:false,
        modules: false
      }
    });
  
    app.use(middleware);
    app.use(webpackHotMiddleware(compiler));
  }
  app.use(express.static(__dirname + '/build'));
  app.use((req, res) =&gt; {
    const location = createLocation(req.url);
    const reducer  = combineReducers(reducers);
    const store    = createStore(reducer);
  
    match({ routes, location }, (err, redirectLocation, renderProps) =&gt; {
      if (err) {
        console.error(err);
        return res.status(500).end('Internal server error');
      }
      if (!renderProps) return res.status(404).end('Not found.');
  
      const InitialComponent = (
        &lt;Provider store={store}&gt;
          &lt;RoutingContext {...renderProps} /&gt;
        &lt;/Provider&gt;
      );
  
      // const initialState = store.getState();
  
      const componentHTML = renderToString(InitialComponent);
      const HTML = `
      &lt;!DOCTYPE html&gt;
      &lt;html&gt;
        &lt;head&gt;
          &lt;meta charset="utf-8"&gt;
          &lt;title&gt;Isomorphic Redux Demo&lt;/title&gt;
            &lt;script type="application/javascript"&gt;
            &lt;/script&gt;
        &lt;/head&gt;
        &lt;body&gt;
          &lt;div id="react-view"&gt;${componentHTML}&lt;/div&gt;
          &lt;script type="application/javascript" src="/bundle.js"&gt;&lt;/script&gt;
        &lt;/body&gt;
    &lt;/html&gt;
  `
      res.end(HTML);
    });
  });
  
  
  export default app;
  </code></pre>
  
  <p><strong>webpack.config</strong></p>
  
  <pre><code>var path = require('path')
  var webpack = require('webpack')
  var autoprefixer = require('autoprefixer')
  var ExtractTextPlugin = require('extract-text-webpack-plugin')
  
  var assetPath = '/assets/'
  var absolutePath = path.join(__dirname, 'build', assetPath)
  
  module.exports = {
    devtool: 'cheap-module-eval-source-map',
    entry: [
      'webpack-hot-middleware/client',
      path.join(__dirname, 'src/index.js')
    ],
    output: {
      path: absolutePath,
      filename: 'bundle.js',
      publicPath: assetPath
    },
    plugins: [
      new webpack.DefinePlugin({
      'process.env':{
        'NODE_ENV': JSON.stringify(process.env.NODE_ENV)
      }
      }),
      new webpack.optimize.OccurenceOrderPlugin(),
      new webpack.HotModuleReplacementPlugin(),
      new webpack.NoErrorsPlugin(),
      new ExtractTextPlugin("bundle.css")
    ],
    module: {
      loaders: [
        {
          test: /\.js$/,
          loader:  'babel' ,
          exclude: /node_modules/,
          include: [
            path.join(__dirname, 'src'),
            path.join(__dirname, 'settings')
          ],
          query: {
            presets: ['es2015']
          }
        },
        // fonts and svg
        { test: /\.woff(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&amp;mimetype=application/font-woff" },
        { test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&amp;mimetype=application/font-woff" },
        { test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&amp;mimetype=application/octet-stream" },
        { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: "file" },
        { test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&amp;mimetype=image/svg+xml" },
        {
          // images
          test: /\.(ico|jpe?g|png|gif)$/,
          loader: "file"
        },
        {
          // for some modules like foundation
          test: /\.scss$/,
          exclude: [/node_modules/], // sassLoader will include node_modules explicitly
          loader: ExtractTextPlugin.extract("style", "css!postcss!sass?outputStyle=expanded")
        },
        {
          test: /\.css$/,
          loader: ExtractTextPlugin.extract("style", "css!postcss")
        }
      ]
    },
    postcss: function(webpack) {
      return [
        autoprefixer({browsers: ['last 2 versions', 'ie &gt;= 9', 'and_chr &gt;= 2.3']})
      ]
    },
    sassLoader: {
      includePaths: [path.resolve(__dirname, "node_modules")]
    }
  }
  </code></pre>